我有一个PDF,我想要一个快速的方法来每隔一页插入一个空白页(除了最后).例如,我的PDF有页面
1: A
2: B
3: C
4: D
Run Code Online (Sandbox Code Playgroud)
它应该看起来像:
1: A
2: empty
3: B
4: empty
5: C
6: empty
7: D
Run Code Online (Sandbox Code Playgroud)
有没有简单的脚本方法可以这样做?我想过使用pdftk,但我不知道它是否是最简单的方法...我正在运行Windows 7.
谢谢到目前为止!
ucy*_*cyo 10
还有这个想法审查论文.这是完整的脚本.
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage example: ./bashscript src.pdf"
exit $E_BADARGS
else
NUM=$(pdftk $1 dump_data | grep 'NumberOfPages' | awk '{split($0,a,": "); print a[2]}')
COMMSTR=''
for i in $(seq 1 $NUM);
do
COMMSTR="$COMMSTR A$i B1 "
done
$(echo "" | ps2pdf -sPAPERSIZE=a4 - pageblanche.pdf)
$(pdftk A=$1 B=pageblanche.pdf cat $COMMSTR output 'mod_'$1)
(pdfnup 'mod_'$1 --nup 2x1 --landscape --outfile 'print_'$1)
$(rm pageblanche.pdf && rm 'mod_'$1)
fi
#for f in *.pdf; do ./bashscript.sh $f; done 2> /dev/null
Run Code Online (Sandbox Code Playgroud)
小智 7
用pdftk做这件事的唯一困难就是键入所有内容.对于后代(如果某人有少量页面并希望这样做)以下是如何使用pdftk(以3页为例).
做这个:
pdftk A=notblank.pdf B=blank.pdf cat A1-1 B1-1 A2-2 B1-1 A3-3 output combined.pdf
Run Code Online (Sandbox Code Playgroud)
如果你想在每3页的末尾有一个空白页面,它将是这样的:
pdftk A=notblank.pdf B=blank.pdf cat A1-3 B1-1 A4-6 B1-1 A7-9 output combined.pdf
Run Code Online (Sandbox Code Playgroud)
如果您最后想要一个空白页面,只需添加另一个B1-1.此外,您需要一个空白的PDF来使用,当然这适用于非空白页面,您可以乱用数字并使用2个以上的pdf.
好的,我自己使用 PHP 和 FPDI/FPDF 完成了:
\n\n<?php\nerror_reporting(E_ALL);\nrequire_once('fpdi/fpdf.php');\nrequire_once('fpdi/fpdi.php');\n\n// Format f\xc3\xbcr die einzelnen Folien:\n$format = 'L'; // Entweder '' (horizontal) oder 'L' (Landscape!)\n\n// Verzeichnis lesen\nforeach(glob('infiles/*.pdf') as $file)\n{\n $filename = basename($file);\n $fileout = 'outfiles/' . $filename;\n\n // Ausgabe-PDF\n $out = new FPDI();\n\n // Vorhandenes PDF einlesen\n $pagecount = $out->setSourceFile($file);\n\n // Alle Seiten nacheinander importieren\n for($i = 1; $i <= $pagecount; $i++)\n {\n // Importiere Seite\n $tpl = $out->importPage($i); // , '/MediaBox'\n\n // Vorhandene Seite\n $out->addPage($format);\n $out->useTemplate($tpl);\n\n if($i < $pagecount)\n {\n // Leere Seite anf\xc3\xbcgen (nur nicht am Ende)\n $out->addPage($format);\n }\n }\n\n $out->Output($fileout);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n子目录“infiles”中的所有文件都将插入空白页面并保存到具有相同文件名的“outfiles”中!
\n 归档时间: |
|
查看次数: |
14914 次 |
最近记录: |