Image Magic - 管道与文件的不同输出

时间:2017-04-27 23:00:20

标签: image-processing imagemagick imagemagick-convert

ImageMagick的: 为什么

的输出不同
convert image.png out.pdf

convert image.png pdf:- > out.pdf

第一个输出为55kb,第二个输出为56kb。

Java PDFBox在管道/输出重定向上抛出pdf错误。

Exception in thread "main" java.io.IOException: java.lang.NumberFormatException

编辑1: Mac OS 10.12.3 image magick convert版本:ImageMagick 7.0.5-2 Q16 x86_64 2017-03-11

文件末尾有差异,这些数字实际出现在PDFBox异常中:

重定向输出:

xref
0 18
0000000000 65535 f 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
18446744073709551615 00000 n 
trailer
<<
/Size 18
/Info 17 0 R
/Root 1 0 R
/ID [<312b2917944e1f1391c7e989f380aafcbed384ae70effb7823f655ea1d84ad66> <312b2917944e1f1391c7e989f380aafcbed384ae70effb7823f655ea1d84ad66>]
>>
startxref
10
%%EOF

vs直接保存到文件中:

xref
0 18
0000000000 65535 f 
0000000010 00000 n 
0000000059 00000 n 
0000000118 00000 n 
0000000312 00000 n 
0000000402 00000 n 
0000000420 00000 n 
0000000458 00000 n 
0000000479 00000 n 
0000051784 00000 n 
0000051805 00000 n 
0000051833 00000 n 
0000054546 00000 n 
0000054567 00000 n 
0000054628 00000 n 
0000054646 00000 n 
0000054668 00000 n 
0000054686 00000 n 
trailer
<<
/Size 18
/Info 17 0 R
/Root 1 0 R
/ID [<312b2917944e1f1391c7e989f380aafcbed384ae70effb7823f655ea1d84ad66> <312b2917944e1f1391c7e989f380aafcbed384ae70effb7823f655ea1d84ad66>]
>>
startxref
54877
%%EOF

2 个答案:

答案 0 :(得分:0)

两个命令都可以正常工作,并在我的机器上执行。我只能建议你检查每一行的前几行并比较它们,看看重定向的那些是否有额外的东西。

convert image.png a.pdf

convert image.png pdf:- > b.pdf

head a.pdf

head b.pdf

答案 1 :(得分:0)

Mark Setchell:

convert image.png pdf:- > output.pdf
convert image.png file.pdf
ls -la
18050 Apr 27 15:25 image.png
44650 Apr 28 11:51 file.pdf
44803 Apr 28 11:51 output.pdf

java -jar&#34; /private/var/www/nodeapp-template/node_modules/easy-pdf-merge/jar/pdfbox.jar" PDFMerger output.pdf output.pdf final-output.pdf 线程&#34; main&#34;中的例外情况java.io.IOException:java.lang.NumberFormatException:对于输入字符串:&#34; 18446744073709551615&#34;     在org.apache.pdfbox.pdfparser.COSParser.parseXrefTable(COSParser.java:2012)

head有相同的输出,没有diff,但是tail有diff。

注意:关于debian的作品,在我的macbook上无法正常工作:( btw debian创建不同的文件(大小55347 55328),但java PDFMerger传递。