我在服务器上使用pdftk multistamp向大(500-1200页) PDF文件中添加自定义页码、页眉和页脚。我通过计算输入中的页数,使用LaTeX创建具有页码、页眉和页脚的合适的空页面,然后使用pdftk multistamp将原始的PDF和PDF与页面、页眉和页脚组合起来。
然而,pdftk是基于libgcj (和gcj)的,gcj不再被维护,并且已经从GCC 7.1中删除。因此,pdftk没有任何未来。
未来如何合并/合并PDF文件?我真的希望尽可能多地保持页面之间的超链接,在生成的PDF文件和元数据中工作。
发布于 2018-06-22 10:41:38
几个月前,我启动了pdftk的Java端口;此时,它应该具有与C++版本相同的功能,但需要进行更多的测试。如果您想尝试一下,请检查https://gitlab.com/pdftk-java/pdftk,并在它崩溃时提交错误报告。
发布于 2018-12-21 18:51:38
我遇到了同样的问题,并最终使用了combine_pdf Ruby,它有一个非常简单的API,工作非常棒。(不过我不知道它对你提到的超链接和元数据支持得有多好。)如果这是你的选择,我强烈建议你这样做。您应该很好地使用类似于以下内容的简短脚本:
require "combine_pdf"
stamp_pages = CombinePDF.new(stamp_filename).pages
pdf = CombinePDF.new(base_filename)
pdf.pages.each_with_index do |page, index|
page << stamp_pages[index > stamp_pages.size ? -1 : index]
end
pdf.save(output_filename)在此之前,我使用的是ImageMagick ( PDF操作需要GhostScript ),但是在从PDF转换到图像和返回时,我失去了很多细节:
# Increase the `-density` number for higher quality.
# Add `+antialias` to stop ImageMagick from antialiasing your images.
convert -density 300 base_filename null: stamp_filename -compose multiply -layers composite output_filenamehttps://stackoverflow.com/questions/50755986
复制相似问题