电子表格应用程序提供将表格导出为 PDF 的功能。通常,表格太宽,无法放在一页纸上(不缩放),因此需要几页 PDF 页面覆盖整个表格宽度。
假设我们的表格有 3 页宽和 3 页高:
+-------+
| o o o |
| o o o |
| o o o |
+-------+
导出时,pdf 页面可以按照以下两种方式排序:
+-------+
| 1 4 7 |
| 2 5 8 |
| 3 6 9 |
+-------+
或者
+-------+
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
+-------+
当然,在pdf文件中只能看到:
1
2
3
4
5
etc.
给定导出的 pdf 文件,我如何合并/粘合页面,以便将完整的表格放在一个 pdf 页面中?据推测,该页面在每个维度上都会比单个标准页面大 3 倍。
编辑:优先考虑 Linux 解决方案。
答案1
到例如将 A4 PDF 文件“粘合”到一张大页面上,使其适合多个页面, 你可以使用 David Firsth 的伟大PDFjam
工具。它通常包含在大多数 Linux 发行版中。例如,使用 Linux Mint 安装该texlive-extra-utils
软件包即可使用 PDFjam。
安装 PDFjam 后,您可以使用以下命令转换包含 9 个 A4 PDF 页面(A4:21x29.7 厘米)的 PDF:
pdfjam --nup 3x3 --papersize '{63cm,89cm}' --noautoscale true \ <Inputfile> --outfile <outputfile>
告诉--nup 3x3
PDFjam 将输入 PDF 页面排列在每个输出页面上的三列和三行。该--papersize
选项定义了自定义纸张大小(正如它应该定义的那样)。您可以将其设置--noautoscale
为 false,让 PDFjam 自动缩放页面。
这PDFjam 自述文件有一个很好的例子首先剪辑输入页面,然后再合并它们,因此要删除所有页边距:
pdfjam myfile.pdf --trim '1cm 2cm 1cm 2cm' --clip true --outfile /dev/stdout | \ pdfnup --frame true --outfile myoutput.pdf
当然,您必须pdfnup
根据您的需要调整调用,或者用pdfjam
建议的命令替换它。
此外,pdfpages
手动的可能对其他 PDFjam 选项有用。
编辑:
默认情况下,PDFjam 将输入页面排列在行例如
+-------+
| 1 2 3 |
| 4 5 6 |
| 7 8 9 |
+-------+
要排列输入页面列相反(参见上文:问题中提到的第一个输出格式):
+-------+
| 1 4 7 |
| 2 5 8 |
| 3 6 9 |
+-------+
这--column true
需要选项。
来自 pdfpages 文档:
Pdfpages 通常使用 '
row-major
' 布局,其中连续的页面沿纸张排列成行。该column
选项将输出更改为 'column-major
' 布局,其中连续的页面沿纸张排列成列。要么是 'true
',要么是 'false
'(或无值,相当于 'true
')。(默认值:column=false
)
因此,对于基于列的输入,只需使用
pdfjam --nup 3x3
--column true
--papersize '{63cm,89cm}' --noautoscale true \ <Inputfile> --outfile <outputfile>
答案2
如果你仍有原始数据(电子表格),使用 LibreOffice,你可以只需修改页面属性,并告诉 LO Calc 将工作表打印在一张巨大的自定义大小的页面上。您必须在页面属性和“分页符”视图之间切换,以检查页面大小是否足够容纳工作表的数据区域。
要调整适当的设置,请选择菜单Format
-> Page...
。在Page
选项卡上,在Format
组合框中选择User
,然后手动设置页面尺寸:
在“工作表”选项卡上,您还可以设置输出缩放比例,以使内容适合一页:
如果生成的 PDF 的最大尺寸不应超过,则您可以使用此功能。
现在,只需使用 PDF 导出选项即可创建包含完整工作表数据的超大 PDF,无需事后粘贴或合并:
使用 LO Calc 5.1.2.2 进行测试 - 在旧版本的 LO 中,菜单结构和对话框可能有所不同。