![将多个 pdf 页面合并为一个](https://linux22.com/image/1325298/%E5%B0%86%E5%A4%9A%E4%B8%AA%20pdf%20%E9%A1%B5%E9%9D%A2%E5%90%88%E5%B9%B6%E4%B8%BA%E4%B8%80%E4%B8%AA.png)
是否有可能“缩小”多页 PDF,将所有页面合并为一页通过命令行(必须在Linux下运行)
例如,我有一个用 XSL:FO/FOP 生成的 PDF,其中包含一个表格(图片中的红色表格),该表格跨越 3 页。但我希望它自动调整为一页大小(参见图片上的右页)所以我不想要页面的“矩阵”,就像你在打印多页时可以选择的一样,但会自动调整大小
编辑:如果更容易的话,更好的方法是使用 xsl:fo 自动将表格调整到一页
答案1
只是猜测...尝试将页面尺寸在垂直方向上设置得非常大(例如 8.5 英寸 x 33 英寸),以便所有内容都适合一页。然后,当您打印时,您可以选择打印机的缩放以适合选项,将页面放在一张标准纸上。不过,这样您可能会得到无法阅读的文本。
[添加] 更复杂的方法是渲染两次。一次获取页数,再次获取适当大小的页面上的最终结果。在计算理想的页面高度时,您可能还需要考虑页眉/页脚大小。
((number-of-pages * (standard-page-height - header-height - footer-height)) + header-height + footer-height)
答案2
不,通用 PDF(或 PS)工具(例如 pdftk、psutils)不提供此功能 - 我猜出于多种原因
大多数 PDF 都是为宽高比接近 A4 或 Letter 尺寸纸张的页面创建的。简单地将三页纸垂直排列会在文本左侧和/或右侧留下过大的空白边距。重复的页眉和页脚也会分散注意力。由于 PDF 是基于在指定坐标处绘制指定形状的最终格式,因此无法在任意 PDF 文件中重新排列文本和其他对象。
您能将工具设置为使用较小的字体吗?
答案3
不,据我所知,你无法完成你所追求的。
您想要读取这些表格并将其合并到一张表中。
但是,有时应用程序会允许您创建所需的内容。检查打印属性、页面布局等选项。我对 XSL 了解不多,因此无法评论您是否可以这样做。但是,我最近确实按照您的要求从 LibreOffice Calc 和 MS Excel 中执行了操作。但是,不建议您这样做。