2010-07-28 50 views
2

我有一個PDF文件,其大小正好是A4頁面的1/5,而script可以通過反覆附加將其轉換爲單張A4頁面。問題是ImageMagick只能用於位圖圖形,而我的PDF包含文本和詳細的矢量圖形。結果是文本數據丟失,文件大小變大,打印輸出變差。在一個頁面中克隆PDF文件

我希望能夠做到像convert -density 1200 $pdf_file $pdf_file $pdf_file $pdf_file $pdf_file +append $a4_file一樣的行,而不用柵格化矢量圖

+0

當你說「一張A4紙大小的1/5」:你的意思是寬度或高度的1/5? – 2010-07-28 17:43:34

+0

它是_landscape_ A4寬度的1/5,即|||||是我正在創建的格式。如果需要,使用pdftk旋轉它並沒有問題。 – l0b0 2010-07-28 17:58:09

+0

您使用Windows,Mac OS X或Linux/Unix嗎? – 2010-07-28 18:33:50

回答

1

pdftk和pdfnup真的非常優秀!在finished script

僞版本:

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 
+0

哦? pdfnup現在可靠地工作?幾年前我曾玩過它,但沒有按需要運行。在此期間忘記了它。感謝你提及它,我需要再次瞭解它。 – 2010-07-28 21:14:09

+0

只是要確定:我們在談論... - ...基於Python的pdfnup由Dhino Gherman? (我) - ...或者由David Firth提供的pdfTeX/pdfpages pdfnup? – 2010-07-28 21:22:23

+0

這是第二個,安裝了Ubuntu軟件包「pdfjam」。 – l0b0 2010-07-29 11:38:17

1

好吧,我有一個想法,這可能工作,但我沒有可能在此刻進行測試。

現在考慮這三個命令(將需要Unix-ification如果你不是在Windows上):

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 = 0(從橫向寬度的1/5)開始,將每個頁面的偏移量移動'n *(1/5的橫向寬度)'點。 (A4是842x595點)。你明白了...

現在你將有3(及更新的:5)新的PDF文件沒有任何額外的位圖圖形。

您的工作現在仍然在使用pdftk(您似乎很熟悉)將這3(5)個PDF頁面疊加在一起。

請給一些反饋,如果這適合你。 (並且不要讓黑洞逃跑:-))。

+0

看起來像一個有趣的解決方案,但我希望更簡單一些。 – l0b0 2010-07-28 20:27:17