Jakie biblioteki, rozszerzenia itp. Byłyby wymagane do renderowania części dokumentu PDF do pliku obrazu?
Większość bibliotek PHP PDF, które znalazłem, koncentruje się na tworzeniu dokumentów PDF, ale czy istnieje prosty sposób na wyrenderowanie dokumentu do formatu obrazu odpowiedniego do użycia w Internecie?
Nasze środowisko to stos LAMP.
.jpg
rozszerzenie. Wypróbowałem metodę AddHandler .htaccess i nie działała.Odpowiedzi:
Potrzebujesz
ImageMagick
iGhostScript
Te
[0]
środkipage 1
.źródło
$im->thumbnailImage(1500, 0);
To ustawi obraz jpg na szerokość 1500 i zachowa skalę. Zobacz dokumentacjęDla tych, którzy nie mają ImageMagick z jakiegokolwiek powodu, będą działać również funkcje GD w połączeniu z GhostScript. Uruchom polecenie ghostscript,
exec()
aby przekonwertować plik PDF na JPG i manipulować plikiem wynikowymimagecreatefromjpeg()
.Uruchom polecenie ghostscript:
Aby manipulować, utwórz nowy obraz zastępczy
$newimage = imagecreatetruecolor(...)
i wprowadź bieżący obraz.$image = imagecreatefromjpeg('whatever.jpg')
, a następnie możesz użyćimagecopyresampled()
do zmiany rozmiaru lub dowolnej liczby innych wbudowanychimagemagick
poleceń niebędących poleceniamiźródło
gs
pliku binarnego.something;rm -rf /
?Możesz także uzyskać liczbę stron za pomocą
Następnie możesz utworzyć kciuki wszystkich stron za pomocą pętli, np.
źródło
Użyj rozszerzenia php Imagick . Aby kontrolować żądany rozmiar obrazu wyjściowego rastra, użyj funkcji setResolution
(Rozszerzenie na Paolo Bergantino jego odpowiedź i Luis Melgratti jego komentarz. Musisz ustawić rozdzielczość przed załadowaniem obrazu.)
źródło
Jeśli ładujesz plik PDF z obiektu blob, w ten sposób otrzymujesz pierwszą stronę zamiast ostatniej strony:
źródło
Możesz także spróbować uruchomić narzędzie do konwersji dostarczane z programem imagemagick.
źródło
convert
pliku binarnego.echo 'image-0.jpg';
zwraca ciąg.Jestem autorem PDFlib, który jest opakowarką GhostScript dla php, zaletą korzystania z tej biblioteki jest to, że jest już przetestowana i nie wymaga
ImageMagic
Zawsze
GhostScript
polecenia są szybsze niż wImageMagic
przypadku pdf, więc powinieneś albo wybrać opakowanie GhostScript, albo tylko polecenia GhostScriptźródło
Instaluję zakończone! Udało się!
Być może wykonasz instalację podstawową imagemagick w systemie Windows.
W
php (local)
użyciu zadzwońexec(<command line>)
ex:Poza tym możesz używać
class imagick
w klasie PHP ImagickDzięki, wszystko mi pomogło!
źródło
Pomyśl inaczej, możesz użyć poniższej biblioteki, aby przekonwertować pdf na obraz za pomocą javascript
http://usefulangle.com/post/24/pdf-to-jpeg-png-with-pdfjs
źródło
Oto prosta klasa, którą napisałem i wykorzystałem w kilku projektach. Po prostu zawija
imagick
i obsługuje zapisywanie każdej strony na dysk. Jeśli ktoś nadal szuka łatwego sposobu na zrobienie tego, ten link może być pomocny.źródło