确定PDF中的每个页面是否具有相同的高度



我使用以下代码将SWF书籍转换为PDF:

swftopdf () {
    if [ ! -f "$1.pdf" ]; then
        wget "http://content.yudu.com/android/dJcuwVV99lEgqWoc/content/$1.high";
        mimetype=$(file $1.high --mime-type);
        if [ "$mimetype" == "$1.high: application/x-shockwave-flash" ]; then
            swfrender -Y 2500 "$1.high" -o "$1.png"; convert "$1.png" "$1.pdf";
        else
            convert "$1.high[x2500]" "$1.pdf";
        fi;
        rm -rf $1.high; rm -rf $1.png;
    fi;
};
for i in {1..244}; do
    while [ ! -f "$i.pdf" ]; do
        swftopdf $i;
    done;
done;
filelist=$(ls|sort -n);
pdftk $filelist cat output '/home/shane/Desktop/Complete Ebooks/Secondary Level/Leaving Cert/Folens/Othello.pdf' compress; rm -rf *.pdf

很少,.High文件将是JPG而不是SWF,因此为什么有其他转换" $ i1.high [x2500]"段。但是,我最初没有写[x2500]。


所以,我想知道的是,而不是删除我已经转换的所有书籍,
是否有任何方法可以弄清楚是否有任何页面是否具有高度在大型PDF 中,哪些不同于2500(.high's,.png和个体.pdf的pdf),因此我可以删除并重新转换该书,以便JPG页面的高度也为2500?谢谢


另外,如果有人知道这样做的不那么令人费解的方式,如果他们告诉我的话,我会很感激


如果您需要1页为.swf而另一个是.jpg的示例,则出于解释目的:
http://content.yudu.com/android/djcuwvv9999legqwoc/content/1.high -swf
http://content.yudu.com/android/djcuwvv99legqwoc/content/2.high-jpg

由于已安装了ImageMagick,因此可以使用identify回答所有页面是否具有相同高度的问题。这是任意选择的PDF的示例:

> identify MyFile.pdf 
MyFile.pdf[0] PDF 524x751 524x751+0+0 16-bit Bilevel DirectClass 49.6KB 0.050u 0:00.050
MyFile.pdf[1] PDF 524x751 524x751+0+0 16-bit Bilevel DirectClass 49.6KB 0.050u 0:00.050
MyFile.pdf[2] PDF 524x751 524x751+0+0 16-bit Bilevel DirectClass 49.6KB 0.050u 0:00.040

如果identify的输出不告知2500的高度:您的示例JPG文件的分辨率为149 ppi,请不要感到惊讶。PDF通常需要72DPI。因此,我希望您的转换后的JPG的高度为1208(= 2500 * 72/149):

> convert 2.high[x2500] 2.pdf
> identify 2.pdf
2.pdf PDF 870x1208 870x1208+0+0 16-bit Bilevel DirectClass 132KB 0.010u 0:00.000

希望有帮助...

相关内容

  • 没有找到相关文章

最新更新