26

我的 PDF 文档的每一页上都有一行包含以下字符串:

%REPLACE%

我想找到并用另一个字符串替换。

有谁知道如何使用一些命令行应用程序(例如 PDFTK)来做到这一点?

这个给了我一个重要的线索,但我想要更直接的东西。

谢谢。

4

3 回答 3

40

您可以尝试如下修改 PDF 的内容

  1. 解压PDF的文本流

    pdftk file.pdf output uncompressed.pdf uncompress
    
  2. 使用sed将您的文本替换为另一个

    sed -e "s/ORIGINALSTRING/NEWSTRING/g" <uncompressed.pdf >modified.pdf
    
  3. 如果此尝试成功,请使用pdftk重新压缩 PDF

    pdftk modified.pdf output recompressed.pdf compress
    

注意:这种方式不是每次都成功,主要是字体子集

于 2012-03-26T12:54:35.493 回答
1

只需在几页上进行小改动,inkscape就可以做得很好。它还可以解决图表和表格边框中的一些问题。但是,必须单独处理每一页,然后使用pdfunite. (可以使用 提取未更改的页面范围pdfseparate。)

灵感: https ://tatica.org/2015/07/13/edit-pdf-inkscape/

于 2021-06-10T14:55:16.483 回答
0

changepagestring将在一个步骤中完成此操作,就像:

changepagestring -o -v infile.pdf search-regex replace-str outfile.pdf

但是,就像当前接受的答案一样,这是命中或未命中,并且不能按预期对所有文件起作用。

于 2021-06-05T01:26:49.810 回答