使用脚本自动在每个其他页面上插入PDF文件

时间:2018-01-28 01:00:04

标签: powershell pdf vbscript merge pdftk

我想知道在命令行上使用pdftk是否可行,或者如果没有pdftk,是否还有其他可用的工具?

我想完成这个:从我们的系统生成pdf文件(报告卡)。每位学生1页,但多个学生可以包含在一个pdf中。我想自动在每个页面之间插入一个静态背面插入pdf,然后将pdf重新保存为相同的名称。这样我们的用户就可以在正面打印双面打印报告卡,背面打印静电背面。

棘手的部分是背面因报告卡的年级和语言(英语或西班牙语)而异。可以通过查看报告卡正面的标准位置来检测年级和语言。

根据我的研究,听起来像pdftk可能能够通过一些脚本执行此操作,但我不确定。如果我可以使用常规.bat文件,vbscript或PowerShell执行此操作,那就太棒了。

我是否需要将pdf拆分成单个文件,然后将它们合并到一起?这可以实现吗?提前谢谢。

其他信息添加于1/28/18。也许我应该更好地解释一下:我需要编写一个脚本,它将采用以下pdf,根据需要插入页面,然后创建一个新的pdf并保存。

所以原来的多页pdf就是这样的例子:

1A。 1年级英语 2A。 1年级英语 3A。 2年级英语 4A。 2年级西班牙语 5A。 2年级英语

然后我会有单页PDF文件,以获得适当的优雅和语言,我希望将其插入这样的背面:

1A。 1年级英语 1B。 1年级英语回来 2A。 1年级英语 2B。 1年级英语回来 3A。 2年级英语 3B。二年级英语回来 4A。 2年级西班牙语 4B。二年级西班牙语回来 5A。 2年级英语 5B。二年级英语回来

要确定成绩和语言,我需要在原始pdf的特定位置查找数据。

这可以用pdftk或其他工具完成吗?似乎pdftk只能合并PDF文件,而不是在pdf上查找内容以确定使用哪个背面。

谢谢,感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我建议:

1)显而易见的是,你已经说过:使用命令:pdftk original.pdf burst将你的原始多页pdf分成带有pdftk的单页。有关详细信息,请查看手册页https://www.pdflabs.com/docs/pdftk-man-page/

2)这可能很棘手但似乎是一种解决方案。当我不得不将单页插入pdf文章时(在处理数字化项目时),我使用imagemagick生成那些单页(它们包含文章的作者姓名,标题等)。也许您可以尝试使用imagemagick通过检查单个像素颜色来识别报告卡是英语还是西班牙语(或其他任何语言)。我的意思是,如果他们有标准的不变的片段,你可以选择一个像素,例如英文报告卡上总是黑色,西班牙报告卡上总是白色。只是一个想法。

您尝试使用类似的方法检查像素的颜色:

convert report.pdf: -format '%[pixel:p{40,30}]' info:-

语法细节:http://www.imagemagick.org/Usage/quantize/#extract - 寻找"提取特定颜色"部分。

3)现在,您可以使用静态背面加入带有> pdftk cat输出的报告卡'命令。类似的东西:

pdftk 1A.pdf 1B.pdf 2A.pdf 2B.pdf 3A.pdf 3B.pdf cat output merged.pdf

您可以再次查看https://www.pdflabs.com/docs/pdftk-man-page/的详细信息(查找" cat [<页面范围>]")

还有一些使用文档中的pdftk cat的例子:

  

将in1.pdf和in2.pdf加入到新的PDF,out1.pdf

中      

pdftk in1.pdf in2.pdf cat output out1.pdf

     

或(使用句柄):

     

pdftk A = in1.pdf B = in2.pdf cat A B输出out1.pdf

     

或(使用通配符):

     

pdftk * .pdf cat output combined.pdf

希望这有帮助