Wydaje się, że polityka bezpieczeństwa Imagemagick nie pozwala mi na wykonanie tej konwersji z formatu pdf na png. Wydaje się, że konwersja innych rozszerzeń działa, ale nie z pliku PDF. Nie zmieniłem żadnych ustawień imagemagick odkąd go zainstalowałem ... Używam Arch Linux, jeśli system operacyjny ma znaczenie.
user@machine $ convert -density 300 -depth 8 -quality 90 input.pdf output.png
convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.
pdf
imagemagick
imagemagick-convert
T. Zack Crawford
źródło
źródło
Odpowiedzi:
Cóż, dodałem
tuż przed
</policymap>
in/etc/ImageMagick-7/policy.xml
i to sprawia, że działa ponownie, ale nie jestem pewien, jakie mają to konsekwencje dla bezpieczeństwa.źródło
<policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" />
i po prostu odkomentowałem ją, aby działała.Jak wskazano w niektórych komentarzach, musisz edytować zasady ImageMagick w
/etc/ImageMagick-7/policy.xml
. W szczególności w ArchLinux w momencie pisania (05/01/2019) następujący wiersz nie jest komentowany:Po prostu zawiń go między
<!--
i,-->
aby go skomentować, a konwersja pdf powinna znów działać.źródło
Dla mnie w moim systemie archlinux linia była już odkomentowana. Musiałem zamienić „brak” na „czytaj | pisz”, aby działało.
źródło
Wynika to z luki w zabezpieczeniach, którą rozwiązano w Ghostscript 9.24 ( źródło ). Jeśli masz nowszą wersję, nie potrzebujesz już tego obejścia. W przypadku Ubuntu 19.10 z Ghostscript 6 oznacza to:
Upewnij się, że masz Ghostscript ≥9,24:
Jeśli tak, po prostu usuń całą następującą sekcję z
/etc/ImageMagick-6/policy.xml
:źródło
sed -i '/disable ghostscript format types/,+6d' /etc/ImageMagick-6/policy.xml
działało dobrze dla mnie.dla mnie na arch linux musiałem skomentować:
źródło
/etc/ImageMagick-6/policy.xml
i/etc/ImageMagick-7/policy.xml
. Uważaj, aby edytować właściwy!W Ubuntu 19.10 zrobiłem to w /etc/ImageMagick-6/policy.xml
odkomentuj to
i skomentuj to
Następnie to polecenie działa bez błędów
źródło
Miałem problem z usługą nextcloud, która nie tworzyła miniatur dla plików pdf.
Jednak żaden z sugerowanych kroków nie rozwiązałby problemu.
W końcu znalazłem powód: zaakceptowana odpowiedź zadziałała, ale musiałem również ponownie uruchomić php-fpm po edycji pliku policy.xml:
źródło