3

A4ページのちょうど1/5のサイズのPDFファイルと、それを繰り返し追加して単一のA4ページに変換するスクリプトがあります。問題は、ImageMagickがビットマップグラフィックスでのみ機能し、私のPDFにテキストと詳細なベクターグラフィックスが含まれていることです。その結果、テキストデータが失われ、ファイルサイズが大幅に大きくなり、印刷出力が低下します。

convert -density 1200 $pdf_file $pdf_file $pdf_file $pdf_file $pdf_file +append $a4_file ベクターグラフィックをラスター化せずに、線と同じようにできるようにしたいと思います。

4

2 に答える 2

2

pdftkとpdfnupは本当に最高です!

完成したスクリプトの擬似コードバージョン:

for each file:
    inkscape --export-pdf
    pdftk (pdf-file x 5) cat output 5.pdf
    pdfnup 5.pdf --nup 5x1 --paper a4paper --orient landscape --outfile {recto,verso}.pdf

pdftk R=recto.pdf V=verso.pdf cat R1W V1E output bookmark.pdf
于 2010-07-28T20:32:18.143 に答える
1

OK、これがどのように機能するかはわかりましたが、現時点ではテストする可能性はありません。

次に、次の3つのコマンドについて考えます(Windowsを使用していない場合はUnix化が必要です)。

 gswin32c ^
    -sDEVICE=pdfwrite ^
    -o p1.pdf ^
    -dFIXEDMEDIA ^
    -sDEFAULTPAPERSIZE=a4 ^
    -r600x600 ^
    -dDEVICEWIDTHPOINTS=842 ^
    -dDEVICEHEIGHTPOINTS=595 ^
    -c "<</PageOffset [0 0]>> setpagedevice" ^
    -f c:/path/to/first.pdf

 gswin32c ^
    -sDEVICE=pdfwrite ^
    -o p2.pdf ^
    -dFIXEDMEDIA ^
    -sDEFAULTPAPERSIZE=a4 ^
    -r600x600 ^
    -dDEVICEWIDTHPOINTS=842 ^
    -dDEVICEHEIGHTPOINTS=595 ^
    -c "<</PageOffset [168.4 0]>> setpagedevice" ^
    -f c:/path/to/second.pdf

 gswin32c ^
    -sDEVICE=pdfwrite ^
    -o p3.pdf ^
    -dFIXEDMEDIA ^
    -sDEFAULTPAPERSIZE=a4 ^
    -r600x600 ^
    -dDEVICEWIDTHPOINTS=842 ^
    -dDEVICEHEIGHTPOINTS=595 ^
    -c "<</PageOffset [336.8 0]>> setpagedevice" ^
    -f c:/path/to/third.pdf

私の側での誤算を除いて、これらは最初の3つのPDFをA4ランドスケープメディアに「印刷」しますが、それぞれのページオフセットを「n *(ランドスケープ幅の1/5)」ポイントだけシフトします。 =0。(A4は842x595ポイントです)。あなたはアイデアを得る...

これで、追加のビットマップグラフィックなしで3つ(およびそれ以降:5つ)の新しいPDFファイルが作成されます。

あなたの仕事は、pdftkこれらの3つのPDFページを互いにオーバーレイするために(あなたが精通しているように思われる)使用することに変わりはありません。

これで問題が解決した場合は、フィードバックをお寄せください。(そして、ブラックホールを逃がさないでください:-))。

于 2010-07-28T18:55:49.320 に答える