我的操作系统是 Ubuntu。因此我更喜欢 Linux/Debian 软件,但任何可以在 Wine 或 mono 下运行的 Windows 软件也可以。
我有一个扫描的 pdf 文件,一份申请表以及签名的扫描件(例如,这个),可以是任何图像格式,例如 eps 或 png。我想将签名图片放在申请表第二页“申请人:”右侧的空白处。我想知道怎么做?
我尝试过下面的方法,但是都没有成功。
第一种方式是使用gimp,我先把申请表导入到gimp,然后把签名图片粘贴到申请表第二页“申请人:”右边的空白处。
但问题在于:
看来我只能将申请表的一页导入 gimp,而不能将全部两页导入。
另外当我保存修改时,我能保存到的最接近pdf的格式是ps,而且分辨率已经降低并且保存文件的存储大小是原始申请表和签名图片的10倍。
第二种方法是使用 Libreoffice Draw。我已经安装了 libreoffice-pdfimport 包。但是当我将申请表导入 Libreoffice Draw 后,
并非所有扫描内容都已导入,并且
布局与原始申请表的布局不同。
那么我还可以尝试什么其他方法?我更喜欢可以将签名图片直接放在申请表 pdf 文件上的方法,
- 无需转换格式,
- 无需创建更大的文件,同时保持原始分辨率,
- 无需拆分和合并多页 pdf 文件的页面,
- 无需栅格化 pdf 文件的其他部分,即无需将整个 pdf 转换为图像,从而不会丢失我后来添加到申请表 pdf 文件中的文本。
谢谢!
答案1
我会这样做:
创建一个空白页 PDF,其左下角只有签名。如果您想要更美观,可以将签名设为蓝色、红色或绿色……重要的:该页面应该使用透明的背景,不是白色!将其保留为“master-sig.pdf”。
使用 Ghostscript 将“master-sig.pdf”转换为新的“working-sig.pdf”页面,并将签名移动到您需要的位置:
gs -o 工作签名.pdf \ -sDEVICE=pdfwrite \ -c "<< /PageOffset [216 504] >> 设置页面设备" \ 主签名.pdf
这会将签名向左移动 3 英寸,向顶部移动 7 英寸(PostScript 中的 72 点 == 标尺上的 1 英寸)。您必须进行一些实验,或者在纸质打印输出上应用硬件标尺(加上一些代数)来确定正确的数字。将
pdftk
“working-sig.pdf”叠加到“contract.pdf”上,结果为“signed-contract.pdf”pdftk \ 合同.pdf \ 印章工作签名.pdf \ 输出已签署合同.pdf
答案2
这让我很烦,所以我做了一个小包来pdfstamp
让它变得更容易。
https://github.com/benwinding/pdfstamp
安装
npm i -g pdfstamp
确保您具有依赖项(ImageMagick
和pdftk
)
pdfstamp doctor
用法
pdfstamp stamp \
--input ./input.pdf \
--signature ./signature.png \
--output ./output.pdf \
--page 2 \
--bottom 300 \
--left 200
答案3
自 2018 年起,pdfedit 不再存在于任何存储库中,但令人高兴的是LibreOffice 绘图(可能已经安装在 Ubuntu 上,或者可以通过发行版的包管理器轻松获取)现在可以很好地编辑大多数 PDF 上的文本(例如填写表格)和插入图像(例如粘贴在您的签名中)。
答案4
如果您使用的是 Ubuntu:
sudo apt-get install pdfedit
要启动 PDFEdit,请输入:
$ pdfedit /path/to/pdf.file &
$ pdfedit &
这将使您能够使用 PDF 编辑器来解决您的问题。
这软件是一个所见即所得的可视化编辑器,还支持脚本,几乎任何东西都可以编写脚本。PDFedit 是一个面向用户的低级工具。您可以使用此软件:
编写/创建/编辑 PDF 文件。
打印 PDF 文件。
保存 PDF 文件。
将 PDF 文件导出为 XML 等。