Answers:
使用PDFtk的 Windows解决方案(您似乎正在根据标签使用):
这将产生一个PDF,其PDF文件的第1页为第1页,随后为第1页:
pdftk in.pdf cat 1-end 1-end output out.pdf
如果希望将每个页面一起复制(如1、2、2,...),请使用以下批处理文件:
@echo off
set pages=
setlocal enabledelayedexpansion
for /f "tokens=2" %%a in ('pdftk in.pdf dump_data ^| find /i "NumberOfPages"') do for /l %%b in (1,1,%%a) do set pages=!pages! %%b %%b
pdftk in.pdf cat!pages! output out.pdf
for %a in (*.pdf) do @pdftk "%~a" cat 1-end 1-end output "%~na (Duplicated)%~xa"
。对于每个in.pdf(名称可以是任何东西),这将在(Duplicated).pdf中产生一个对应的内容。享用晚餐,如果它对您有所帮助,请不要忘记接受答案(单击左侧的绿色复选标记)!
如果您回答我的评论中的问题,我可能会为您提供更好的解决方案,但是为了您的妻子,这里有一些建议。
ImageMagick是用于图像处理的跨平台命令行工具。安装后,您应该可以使用它的convert
工具来做您想要的事情。详细信息取决于您的操作系统。我假设您想要整个文件的两个副本,而不是每个页面都加倍。
Linux / OSX / Unix等
for n in *pdf; do convert -density 150 "$n" "$n" "$n"; done
这将覆盖现有文件,您可能需要先备份。
视窗。这可能有点错误,我不使用Windows,所以无法测试它,但总体思路应该是这样的
for %f in (*.pdf) do (convert.exe %f %f %f)
for
循环缺少done
和$n
可能应该被引用。也许我错过了convert
工作原理,但是convert
当您传递相同文件的三倍后该怎么办?我现在无法测试。
convert infile1 infile2 ... infileN outfile
。因此,如果将同一文件传递三遍,它将把它当作输入两次,然后作为输出写到同一文件中。那一个我没有测试:)。
如果要在Linux上将每个页面复制在一起(如1,1,2,2,...),则此脚本可以做到:
#!/bin/bash
INPUTFILE=$*
PAGENUM=`pdftk ${INPUTFILE} dump_data | grep NumberOfPages | cut -d : -f 2 | cut -d " " -f 2`
PAGES=`seq 1 ${PAGENUM}`
DUPAGES=`for i in ${PAGES} ; do echo $i $i | tr "\n" " " ; done`
OUTPUT=`basename ${INPUTFILE} .pdf`.dup.pdf
pdftk ${INPUTFILE} cat ${DUPAGES} output ${OUTPUT}