ImageMagick a znak procenta

mrBean

ImageMagick a znak procenta
« kdy: 09. 02. 2012, 22:09:33 »
Zdravím,
hledám řešení pro tento příkaz, který spouštím z dávkového souboru DOS/Windows:

Kód: [Vybrat]
for /r %%x in (*.pdf) do ^
convert -density 400 -shave "30%x30%" -quality 34%% "%%x" "%%x.jpg"

Snažím se do příkazu shave dostat procenta. Příkaz má oříznout okraje, které vznikají při převodu dokumentu pdf na obraz jpeg. Tato podoba ale nefunguje. Zkoušel jsem shave také zapsat takto:

-shave "30%%x30%%"
nebo
-shave "30\%x30\%"
ale ani jedna podoba není platná. Tak nevím jak to udělat, najde se tu někdo kdo tomu rozumí?


Kriegel

Re:ImageMagick a znak procenta
« Odpověď #1 kdy: 10. 02. 2012, 08:58:05 »
Zdar,
zkus caretu:

A. Just as you can use a slash (\) as an escape character to pass a double quote ("), you can use a caret (^) as an escape character to pass a percent sign.

http://www.windowsitpro.com/article/registry2/how-can-i-pass-a-percent-sign-value-to-reg-exe-

mrBean

Re:ImageMagick a znak procenta
« Odpověď #2 kdy: 10. 02. 2012, 10:23:18 »
Nezdá se že by to fungovalo:
Kód: [Vybrat]
for /r %%x in (*.pdf) do ^
convert -density 400 -shave "30^%x30^%" -quality 34%% "%%x" "%%x.jpg"
V dávce dává příkaz:
convert -density 400 -shave "30^" -quality  ...

Kriegel

Re:ImageMagick a znak procenta
« Odpověď #3 kdy: 10. 02. 2012, 11:03:18 »
funguje normalne %%, ale protoze jsou windows takove, jake jsou, tak problem je v nazvu promenne

Mas tam for %%x in a dale se pak v parametru -shave objevuje dalsi, jakoze escapovane x (krat) 30%%x

A to je kamen urazu, zmen si nazev promenne na neco jineho nez x, odstran uvozovky z parametru a jede to... jen mi to pada na chybe v ghostscriptu, ale to bude nejaky lokalni problem...
Expanduje se to v poradku

mrBean

Re:ImageMagick a znak procenta
« Odpověď #4 kdy: 10. 02. 2012, 12:49:44 »
Mně to stále nejede:
Kód: [Vybrat]
for /r %%f in (*.pdf) do ^
convert -density 400 -shave 30%x30% -quality 34%% "%%f" "%%f.jpg"

Kód: [Vybrat]
for /r %%f in (*.pdf) do ^
convert -density 400 -shave 30%%x30%% -quality 34%% "%%f" "%%f.jpg"


mrBean

Re:ImageMagick a znak procenta
« Odpověď #5 kdy: 10. 02. 2012, 12:53:32 »
Na čem to zkoušíš na linuxu nebo Windowsu? Jestli na Windowsu můžeš sem hodit jak tom máš? A funguje ti to ořezávání?

Kriegel

Re:ImageMagick a znak procenta
« Odpověď #6 kdy: 10. 02. 2012, 14:11:54 »
na woknech, jsem musel kvuli tobe instalovat im :P

for %%Y in (*.pdf) do "C:\Program Files\ImageMagick-6.7.5-Q16\convert.exe" -density 400 -shave 30%%x30%% -quality 34%% %%Y %%Y.jpg

jak rikam, nefunguje mi to kvuli ghostscriptu, ale to je lokalni problem, obsah te tadvky se expanduje ok...

D:\tmp>"C:\Program Files\ImageMagick-6.7.5-Q16\convert.exe" -density 400 -shave 30%x30% -quality 34% montage.pdf montage.pdf.jpg

Kriegel

Re:ImageMagick a znak procenta
« Odpověď #7 kdy: 10. 02. 2012, 14:15:45 »
jo a bacha na cestu ke convert.exe
we winnxp existuje utilita, ktera Converts FAT and FAT32 volumes to NTFS

mrBean

Re:ImageMagick a znak procenta
« Odpověď #8 kdy: 10. 02. 2012, 17:48:30 »
Teď to vypadá, že syntaxe na vstupu je správná. Ale zase mi to píše chybu.
"convert.exe: no necode delegate for this image format '...cesta k dokumentu pdf...'"

Když vynechám cestu a uvozovky ke convert, tak zase jiná hláška:
neplatný parametr 400

Před tím jak to bylo bez uvozovek u convert a  s uvozovkama kolem argumentů tak to fungovalo ale bez shave.

mrBean

Re:ImageMagick a znak procenta
« Odpověď #9 kdy: 10. 02. 2012, 17:50:40 »
no decode delegate for this image format ...

Kriegel

Re:ImageMagick a znak procenta
« Odpověď #10 kdy: 10. 02. 2012, 18:03:39 »
nainstaluj ghostscript, bez toho to nepujde... pokud mas, tak pohledej v config/delegates.xml
zbytek najdes na netu...

a nebo radsi nainstaluj VirtualBox, v nem preferovane distro a namisto sr.ni se s windowsama bez na skopek

mrBean

Re:ImageMagick a znak procenta
« Odpověď #11 kdy: 10. 02. 2012, 18:05:14 »
Aha, já už ten GS odisntaloval... Myslel jsem že to nepotřebuju, když používám IM.

mrBean

Re:ImageMagick a znak procenta
« Odpověď #12 kdy: 10. 02. 2012, 18:35:22 »
Díky moc, konečně to funguje!

Ale ještě tam je problém. Adresáře a možná i soubory obsahují mezery takže to musí být v závorkách

mrBean

Re:ImageMagick a znak procenta
« Odpověď #13 kdy: 10. 02. 2012, 19:41:44 »
No a nemohl by si mi poradit ještě co může způsobovat tyto chyby? To vypadá, že se mi povedlo nakonvertovat tak 8 souborů a zbytek nic:

   **** Warning: File has insufficient data for an image.
libpng error: Write Error
Error: /VMerror in --showpage--
VM status: 3 935695 2253216
Current allocation mode is local
Last OS error: 28
GPL Ghostscript 9.04: Unrecoverable error, exit code 1
convert.exe: `%s': %s "P:/PROGRAMY/grafika/editace/GhostScript9.04/bin/gswin32c.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dEPS
Crop -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r400x400" -g67533x50656  "-sOutputFile=C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/magick-zVIp4tf7-12275968" "-fC:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/magick-njK22eLq" "-fC:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/magick-XXK6mIPn" @ error/pdf.c/InvokePDFDelegate/199.convert.exe: Postscript delegate failed `D:\Europe\Cyprus\enroute.pdf':

No such file or directory @ error/pdf.c/ReadPDFImage/667. convert.exe: unable to open image `D:\Europe\Cyprus\enroute.pdf.jpg': No such file or directory @ error/blob.c/OpenBlob/2614.

D:\Europe>"c:\program files\ImageMagick-6.7.5-Q8\convert.exe" -density 400 -shave 30%x30% -quality 34% D:\Europe\Czech_republic\lower.pdf D:\Europe\Czech_republic\lower.pdf.jpg -density 400 -shave 30%x30% -quality 34% D:\Europe\Austria\upper.pdf D:\Europe\Austria\upper.pdf.jpg
convert.exe: unable to open image `D:\Europe\Czech_republic\lower.pdf.jpg':
 No such file or directory @ error/blob.c/OpenBlob/2614.

D:\Europe>"c:\program files\ImageMagick-6.7.5-Q8\convert.exe" -density 400 -shave 30%x30% -quality 34% D:\Europe\Czech_republic\upper.pdf D:\Europe\Czech_republic\upper.pdf.jpg -density 400 -shave 30%x30% -quality 34% D:\Europe\Austria\upper.pdf D:\Europe\Austria\upper.pdf.jpg
   **** Warning: xref subsection header has extra characters.
   **** Warning:  An error occurred while reading an XREF table.
   **** The file has been damaged.  This may have been caused
   **** by a problem while converting or transfering the file.
   **** Ghostscript will attempt to recover the data.
   **** Warning:  There are objects with matching object and generation
   **** numbers.  The accuracy of the resulting image is unknown.

   **** This file had errors that were repaired or ignored.
   **** The file was produced by:
   **** >>>> Acrobat Distiller 6.0 (Windows) <<<<
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

convert.exe: unable to open image `D:\Europe\Czech_republic\upper.pdf.jpg': No such file or directory @ error/blob.c/OpenBlob/2614.

D:\Europe>"c:\program files\ImageMagick-6.7.5-Q8\convert.exe" -density 400 -shave 30%x30% -quality 34% D:\Europe\Denmark\lower.pdf D:\Europe\Denmark\lower.pdf.jpg -density 400 -shave 30%x30% -quality 34% D:\Europe\Austria\upper.pdf D:\Europe\Austria\upper.pdf.jpg
convert.exe: unable to open image `D:\Europe\Denmark\lower.pdf.jpg': No such file or directory @ error/blob.c/OpenBlob/2614.

D:\Europe>"c:\program files\ImageMagick-6.7.5-Q8\convert.exe" -density 400 -shave 30%x30% -quality 34% D:\Europe\Denmark\upper.pdf D:\Europe\Denmark\upper.pdf.jpg -density 400 -shave 30%x30% -quality 34% D:\Europe\Austria\upper.pdf D:\Europe\Austria\upper.pdf.jpg
convert.exe: unable to open image `D:\Europe\Denmark\upper.pdf.jpg': No such file or directory @ error/blob.c/OpenBlob/2614.

D:\Europe>"c:\program files\ImageMagick-6.7.5-Q8\convert.exe" -density 400 -shave 30%x30% -quality 34% D:\Europe\Estonia\enroute.pdf D:\MAPY\Europe\Estonia\enroute.pdf.jpg -density 400 -shave 30%x30% -quality 34% D:\MAPY\Europe\Austria\upper.pdf D:\Europe\Austria\upper.pdf.jpg
   **** Warning: File has unbalanced q/Q operators (too many q's)

   **** This file had errors that were repaired or ignored.
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

convert.exe: unable to open image `D:\Europe\Estonia\enroute.pdf.jpg': No such file or directory @ error/blob.c/OpenBlob/2614.

D:\Europe>"c:\program files\ImageMagick-6.7.5-Q8\convert.exe" -density 400 -shave 30%x30% -quality 34% D:\Europe\Finland\lower.pdf D:\Europe\Finland\lower.pdf.jpg -density 400 -shave 30%x30% -quality 34% D:\Europe\Austria\upper.pdf D:\Europe\Austria\upper.pdf.jpg
Error: /ioerror in --showpage--
Operand stack:
   1   true
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval-
-   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   fa
lse   1   %stopped_push   1926   1   3   %oparray_pop   1925   1   3   %oparray_
pop   1909   1   3   %oparray_pop   --nostringval--   --nostringval--   2   1
1   --nostringval--   %for_pos_int_continue   --nostringval--   --nostringval--
  1809   0   9   %oparray_pop   --nostringval--   --nostringval--
Dictionary stack:
   --dict:1170/1684(ro)(G)--   --dict:1/20(G)--   --dict:82/200(L)--   --dict:82
/200(L)--   --dict:108/127(ro)(G)--   --dict:291/300(ro)(G)--   --dict:24/30(L)-
-   --dict:6/8(L)--   --dict:21/40(L)--
Current allocation mode is local
Last OS error: No space left on device
GPL Ghostscript 9.04: Unrecoverable error, exit code 1
convert.exe: `%s': %s "P:/PROGRAMY/grafika/editace/GhostScript9.04/bin/gswin32c.exe" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dEPS
Crop -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pamcmyk32" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r400x400" -g10394x14506 -dUseCIEColor  "-sOutputFile=C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/magick-zyXkMOEq-12275968" "-fC:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/magick-ZpF7Sh2b" "-fC:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/magick-0DSQLmkI" @ error/pdf.c/InvokePDFDelegate/199.convert.exe: Postscript delegate failed `D:\Europe\Finland\lower.pdf': No such file or directory @ error/pdf.c/ReadPDFImage/667.convert.exe: unable to open image `D:\Europe\Finland\lower.pdf.jpg': No such file or directory @ error/blob.c/OpenBlob/2614.

D:\Europe>"c:\program files\ImageMagick-6.7.5-Q8\convert.exe" -density 400 -shave 30%x30% -quality 34% D:\Europe\Finland\upper.pdf D:\Europe\Finland\upper.pdf.jpg -density 400 -shave 30%x30% -quality 34% D:\Europe\Austria\upper.pdf D:\Europe\Austria\upper.pdf.jpg
convert.exe: unable to open image `D:\Europe\Finland\upper.pdf.jpg': No such file or directory @ error/blob.c/OpenBlob/2614.

dustin

Re:ImageMagick a znak procenta
« Odpověď #14 kdy: 10. 02. 2012, 22:43:57 »
Tu hlášku "Last OS error: No space left on device" jsi kontroloval?