2013-11-09 84 views
1

我生成使用此命令一組PNG文件PDF特殊頁面PDF:ImageMagick的生成編號

convert -- $(ls -v -- src/*.png) out/book.pdf 

那裏是與像-03.png的名字,這是我需要有更小的頁碼一些文件相對於其它的。但我得到具有PDF -01有頁碼1,-02號2等,並從頁碼6

01開始的PDF是掃描的書籍,其中有一樣的內容等表中的某些元素這些不包括在頁碼中。我記得在正常的阿拉伯數字開始之前看過一些PDF文件,其中包含特殊頁碼vii

我使用-scene -5增加一個偏移量頁碼試過了,但是這並沒有改變結果。

所以,我應該怎麼做,而不是做網頁「01.png」有頁碼1等,以及以前的有一些其他的數字(負數或拉丁文,任何東西),並出現在文檔的開始?

回答

2

首先,要將文件數值計算可選的減號,你不會告訴你命令做排序。

其次,你說的PageLabels PDF頁面,你可以使用Ghostscript和pdfmark運算符添加。

試試這個命令:

ls src/*.png | \ 
sort -n | \ 
convert @- pdf:- | \ 
gs \ 
    -sDEVICE=pdfwrite \ 
    -o out/book.pdf \ 
    -c '[{Catalog}<</PageLabels<</Nums[0<</P(-3)>>1<</P(-2)>>2<</P(-1)>>3<</S/D>>]>>>>/PUT pdfmark' \ 
    -f - 

它是-2 -3 3頁,和-1,其次是任意多個頁面標記爲1,2,3等,根據自己的需要修改。

+0

'排序-n'不排序負數正確要麼 – Ruslan

+0

但是'排序-t「 - 」 -k2r'一樣。 – Ruslan

+0

@Ruslan,以及我發佈之前檢查,它適用於我。 [這裏](http://stackoverflow.com/questions/4856030/linux-command-sort-according-to-fields-numerical-value)他們建議使用'LC_ALL = C sort -n' – user2846289