从 Mac 快捷方式应用程序编辑 pdf 文件中的文本 - 通过运行 shell 脚本

问题描述 投票:0回答:1

我正在尝试使用苹果快捷方式应用程序来自动化某些表单,它内置了运行 shell 脚本的选项。 基本上,我有一个为客户创建的默认 pdf,上面写着“亲爱的客户”,我希望它自动将 pdf 中的名称更改为客户的名称(我在快捷方式开头输入的名称)。 我正在使用 homebrew 并尝试使用 pdfgrep、qpdf 和 sed 等软件包。 我还购买了 PDFexpert 的 mac 版本,如果我可以使用其中一些命令来更轻松地编辑文件。

我在 Macbook Pro M2 上执行此操作,使用的终端是 bash。 我想我可以使用 zshell,但我不太确定如何使用它。

这是到目前为止我的 shell 脚本: 请注意,粗体的“客户端名称”代表来自我的 Apple Shortcuts 应用程序的变量输入。 不确定到底发生了什么,但它似乎可以在我的计算机上查找文件。 PDF_FILE="/Users/jonathan/Desktop/Personal Trainer Stuff/Client Documents/Signed Client Forms/**Client Name**/**Client Name**_WELCOME_FORM.pdf" OUTPUT_FILE="/Users/jonathan/Desktop/Personal Trainer Stuff/Client Documents/Signed Client Forms/**Client Name**/**Client Name**_WELCOME_FORM.pdf" echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" qpdf --stream-data=uncompress $1 "$PDF_FILE" --replace-input sed -i s/("Client")/("**Client Name**")/g "$PDF_FILE" qpdf --stream-data=compress "$PDF_FILE" $1

我之所以尝试此操作,是因为我在此 stackoverflow 页面上发现了以下内容:
https://stackoverflow.com/questions/54749404/cant-edit-pdf-file-with-sed-command

但它不断损坏我的文件或给我错误。 附件是我写的整个快捷方式的图像:

[

脚本

](https://i.sstatic.net/3GI6tK8l.jpg)

macos pdf sed terminal automation
1个回答
0
投票
XY 问题

最初的重点是解决最终问题,而不是考虑任务的目标。

这里的最少步骤是编辑路线的 PDF 模板。

解压缩工作 PDF
  1. 使用可编程编辑器替换文本
  2. 重新压缩编辑后的PDF
  3. Y 问题是,除非通过为新文本包含新字体来对其进行重组,否则总会损坏源 PDF。

我提出了一种替代策略,即使用 PDF 命令行可编程编辑器用新内容(文本或图形)覆盖模板。

我最好的建议是使用

PDFCPU

,一旦你理解了它的语法,它就可以通过 API 或 CLI 来完成任务。

© www.soinside.com 2019 - 2024. All rights reserved.