合并/粘贴从电子表格应用程序导出的 PDF

合并/粘贴从电子表格应用程序导出的 PDF

电子表格应用程序提供将表格导出为 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 3x3PDFjam 将输入 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 中,菜单结构和对话框可能有所不同。

相关内容