Używam imagicka, aby przekonwertować pdf na jpg w skrypcie, który mam ... działa dobrze, jeśli podam bezpośrednią ścieżkę do przesłanego pliku pdf bez strona określony, ale po dodaniu [0]
na końcu ścieżki pliku, aby określić, że chcę tylko czytać pierwszą stronę, to bomby odchodzący z powodu następującego błędu:Otrzymywanie błędnego pliku o błędzie podczas konwersji pierwszej strony pdf na jpg
"Fatal error: Uncaught exception 'ImagickException' with message 'Invalid filename provided' Imagick->readImage()"
ja również próbowałem przy użyciu '/path/to/file.pdf[0]'
bezpośrednio w konstruktorze bez powodzenia, ale bez specyfikatora strony, który również działa dobrze.
Zgodnie z dokumentacją ... to powinno działać. Co ja tu robię źle?
$doc_preview = new Imagick();
$doc_preview->setResolution(180,180);
$doc_preview->readImage('/path/to/file.pdf[0]');
$doc_preview->setImageFormat('jpeg');
$doc_preview->writeImage('/path/to/file.jpg');
$doc_preview->clear();
$doc_preview->destroy();
AKTUALIZACJA: Powinienem wspomnieć, że używam HHVM. Nie jestem pewien, czy to by miało znaczenie w tym przypadku ... ale jestem.
UPDATE2: Otworzyłem an issue na repozytorium HHVM github. Mam nadzieję, że naprawią ten błąd ... do tego czasu odpowiedź, którą poprawiłem poniżej, jest przyzwoitym (choć hackowskim) rozwiązaniem.
To błąd. Funkcja nie jest obsługiwana, ale powtarzana w całym podręczniku PHP. Duplikat: http://stackoverflow.com/q/11114747/1163786 Rozwiązanie za pomocą setIteratorIndex() na stronie: http://stackoverflow.com/a/22673725/1163786 –
Dobre znalezisko ... Zrozumiałem to czytając wszystkie obsługiwane metody ... ale nadal ... w najlepszym razie nie są intuicyjne. Nie uważam też mojego rozwiązania za duplikat, ponieważ nie próbuję iterować i tworzyć wielu obrazów ... i dlatego nie mogłem znaleźć tego rozwiązania podczas wcześniejszego wyszukiwania. – kevindeleon
Przepraszam, Kevin - nie zauważyłem, że ten problem dotyczy rozszerzenia HHVM. –