watermark - 从命令行创建 pdftk 水印文件
问题描述
我需要 pdftk 为 pdf 添加水印。我正在以编程方式生成水印的内容并将其写入文本文件。然后我使用 cupsfilter 创建水印 pdf,然后使用 pdftk 将生成的水印 pdf 应用到电子书 pdf 上。
我了解 pdftk 将逐页水印 pdf 应用于电子书 pdf。
如果我创建一个 62 行的文本文件,在第 62 行有 61 个空行和水印文本,那么它会在电子书 pdf 的每一页的页面高度的大约 5/6 处正确应用。我再添加一个空行,水印文本消失。它不会出现在下一页上,它根本不存在。
我的最终目标是在电子书第二页的底部添加水印文本
所以我需要创建一个 3 页的 pdf,第一页为空,第二页底部的水印文本和第三页再次为空
我尝试使用 BBEdit 将分页符插入到文本文件中,但没有得到预期的结果。
有没有人提示我如何创建所需的文本文件,该文件一旦用 cupsflter 打印成 pdf 将创建所需的水印 pdf(第一页和第三页为空,第二页底部有一行或两行文本)
解决方案
好的,首先,手册并不完全清楚邮票和多邮票以及背景和多背景之间的区别 - 它解释了如果水印 pdf 是多页 pdf,则水印 pdf 将逐页应用于电子书 pdf,并且如果水印 pdf 的页数比电子书 pdf 少,水印 pdf 的最后一页将应用于电子书的所有多余页面,这是正确的,但仅适用于多邮票/多背景选项。如果您使用戳/背景选项,那么只有水印 pdf 的第一页将应用于电子书 pdf 的所有页面,这是第一个弄清楚的。
所以我使用 echo 创建了两个 txt 文件,一个是空的(其中有一个空格),一个是一行水印文本。比我使用 pdftk cat 选项将空 pdf 与水印 pdf 合并,所以我得到了两页 pdf,第一页为空,第二页为文本行。然后我再次将此文件与空 pdf 合并,最终得到 3 页 pdf。
然后我将这个带有多背景选项的 3 页水印 pdf 应用到电子书并得到了我想要的 - 第一页没有水印,第二页是文本行,第三页是没有水印的所有其他页面。
推荐阅读
- java - JSON 使用 org.json 库解析 Java 中的所有元素?
- reactjs - React.js 更改页面
- php - 从带有命名空间的 XML 中删除一个节点并生成新的 XML
- kotlin - 没有@Provides-annotated 方法就不能提供字符串
- linux - 在脚本中采购 bashrc.user 时出现问题
- snowflake-cloud-data-platform - 无法提出支持案例
- c# - 将整个段落 InnerText 参数替换为新字符串。使用 OpenXML C#
- python - 将来自串口的传入数据转换为整数
- c# - 如何在 ValidationResult 中使用带有 mahapps.metro 和 wpflocalization 扩展的动态本地化?
- android - 无网络协程+改造时无异常/错误