1

是否可以使用 Google Apps 脚本替换 pdf 文件中的文本?

我正在尝试以下代码但没有成功替换,似乎字符串以我无法理解的方式编码。

  var pdfFile = DocsList.getFileById("pdf-doc-id");
  var asBlob = pdfFile.getBlob();
  var asString = asBlob.getDataAsString();
  var s2s = "old string";
  var s2r = "new string";
  var repString = asString.replace(s2s, s2r);
  var repBlob = Utilities.newBlob(repString).setContentType("application/pdf").setName("Testing");
  DocsList.createFile(repBlob);

EDIT1:我得到了一个空的pdf

有任何想法吗?

谢谢

4

1 回答 1

1

该函数getDataAsString()不返回 PDF 文件的文本内容,而是返回文件二进制内容的文本表示。该功能适用​​于任何文件,即使是那些没有文本(如图像)的文件。

不幸的是,我认为您无法使用 Apps Script 完全实现您的目标。如果您能够使用 Drive UI 将 PDF 作为 Google 文档导入,则可以使用 Apps Script 的 DocumentApp 修改文档并将其导出为 PDF。

于 2012-11-14T16:40:05.970 回答