代码之家  ›  专栏  ›  技术社区  ›  Mikko Rantalainen

一旦“pdftk multismap”不再可用,是否可以将其替换为“pdftk”?

  •  4
  • Mikko Rantalainen  · 技术社区  · 7 年前

    我在用 pdftk multistamp 在服务器上,用于向大(500-1200页)PDF文件添加自定义页码、页眉和页脚。我通过计算输入中的页数,使用乳胶创建带有页数、页眉和页脚的合适空页,然后使用 PDFTK多点 将原始pdf和pdf与页面、页眉和页脚组合。

    然而, pdftk 基于 libgcj (和) gcj )和 GCJ 已从GCC 7.1中删除。像这样的, PDFTK 没有未来。

    未来如何合并/合并pdf文件?我真的很想让页面之间的超链接尽可能多地在生成的pdf文件和元数据中工作。

    2 回复  |  直到 7 年前
        1
  •  2
  •   notautogenerated    7 年前

    几个月后,我启动了一个PDFTK的Java端口;此时,它应该具有与C++版本相同的功能,但需要进行更多的测试。如果你想试试看 https://gitlab.com/pdftk-java/pdftk 并在出现故障时提交故障报告。

        2
  •  0
  •   JacobEvelyn    6 年前

    我遇到了完全相同的问题,并最终使用 combine_pdf ruby gem,它有一个非常简单的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 (要求 GhostScript 对于pdf操作),但是在从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_filename
    
    推荐文章