PHP에서 PDF 문서를 미리보기 이미지로 변환하려면 어떻게해야합니까? [닫은]
PHPPHP에서 PDF 문서를 미리보기 이미지로 변환하려면 어떻게해야합니까? [닫은]
PDF 문서의 일부를 이미지 파일로 렌더링하는 데 필요한 라이브러리, 확장 기능은 무엇입니까?
대부분의 PHP PDF 라이브러리는 PDF 문서 작성을 중심으로 발견되었지만 웹 사용에 적합한 이미지 형식으로 문서를 렌더링하는 간단한 방법이 있습니까?
우리의 환경은 램프 스택입니다.
해결법
-
==============================
1.ImageMagick 및 GhostScript가 필요합니다.
ImageMagick 및 GhostScript가 필요합니다.
<?php $im = new imagick('file.pdf[0]'); $im->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $im; ?>
[0]은 1 페이지를 의미합니다.
-
==============================
2.어떤 이유로 ImageMagick을 가지고 있지 않은 사람들을 위해, GD 함수는 GhostScript와 함께 작동합니다. exec ()로 ghostscript 명령을 실행하여 PDF를 JPG로 변환하고 imagecreatefromjpeg ()로 결과 파일을 조작하십시오.
어떤 이유로 ImageMagick을 가지고 있지 않은 사람들을 위해, GD 함수는 GhostScript와 함께 작동합니다. exec ()로 ghostscript 명령을 실행하여 PDF를 JPG로 변환하고 imagecreatefromjpeg ()로 결과 파일을 조작하십시오.
ghostscript 명령을 실행하십시오.
exec('gs -dSAFER -dBATCH -sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 -sOutputFile=whatever.jpg input.pdf')
조작하려면 새로운 위치 지정자 이미지 $ newimage = imagecreatetruecolor (...)를 만들고 현재 이미지를 가져 오십시오. $ image = imagecreatefromjpeg ( 'whatever.jpg'), 그리고 imagecopyresampled ()를 사용하여 크기를 변경하거나 다른 내장 이미지 비 화상 명령을 변경할 수 있습니다
-
==============================
3.또한 페이지 수를 사용하여
또한 페이지 수를 사용하여
$im->getNumberImages();
그런 다음 루프를 사용하여 모든 페이지의 엄지 손가락을 만들 수 있습니다 (예 :
'file.pdf['.$x.']'
-
==============================
4.Imagick이라는 PHP 확장 기능을 사용하십시오. 래스터 출력 이미지의 원하는 크기를 제어하려면 setResolution 함수를 사용하십시오.
Imagick이라는 PHP 확장 기능을 사용하십시오. 래스터 출력 이미지의 원하는 크기를 제어하려면 setResolution 함수를 사용하십시오.
<?php $im = new Imagick(); $im->setResolution(300, 300); //set the resolution of the resulting jpg $im->readImage('file.pdf[0]'); //[0] for the first page $im->setImageFormat('jpg'); header('Content-Type: image/jpeg'); echo $im; ?>
(Paolo Bergantino에 대한 그의 대답과 Luis Melgratti의 코멘트. 이미지를로드하기 전에 해상도를 설정해야합니다.)
-
==============================
5.BLOB에서 PDF를로드하는 경우 이것은 마지막 페이지 대신 첫 페이지를 얻는 방법입니다.
BLOB에서 PDF를로드하는 경우 이것은 마지막 페이지 대신 첫 페이지를 얻는 방법입니다.
$im->readimageblob($blob); $im->setiteratorindex(0);
-
==============================
6.imagemagick과 함께 제공되는 'convert'유틸리티를 실행 해 볼 수도 있습니다.
imagemagick과 함께 제공되는 'convert'유틸리티를 실행 해 볼 수도 있습니다.
exec("convert pdf_doc.pdf image.jpg"); echo 'image-0.jpg';
-
==============================
7.설치가 완료되었습니다! 효과가 있습니다!
설치가 완료되었습니다! 효과가 있습니다!
당신은 창문에 기지 설치 imagemagick 할 수 있습니다.
php (local)에서는 exec (
) 호출을 사용합니다. 전의: <?php $pdf = "filename.pdf"; $info = pathinfo($pdf); $file_name = basename($pdf,'.'.$info['extension']); echo $file_name; $pdf = "filename.pdf[0]"; exec("convert $pdf convert-img/$file_name.jpg"); ?>
게다가 PHP Imagick 클래스에서 상상력 클래스를 사용할 수도있다.
모두가 도와 줘서 고마워!
-
==============================
8.필자는 PHP 용 GhostScript 래퍼 인 PDFlib의 저자이며,이 라이브러리를 사용하면 이미 테스트를 마쳤으며 ImageMagic이 필요하지 않습니다.
필자는 PHP 용 GhostScript 래퍼 인 PDFlib의 저자이며,이 라이브러리를 사용하면 이미 테스트를 마쳤으며 ImageMagic이 필요하지 않습니다.
pdf와 관련하여 항상 GhostScript 명령은 ImageMagic보다 빠르므로 GhostScript 래퍼 또는 순수 GhostScript 명령을 사용해야합니다
$pdflib = new ImalH\PDFLib\PDFLib(); $pdflib->setPdfPath($pdf_file_path); $pdflib->setOutputPath($folder_path_for_images); $pdflib->convert();
-
==============================
9.다음은 몇 가지 프로젝트에서 작성하고 사용한 간단한 클래스입니다. imagick을 랩핑하고 각 페이지를 디스크에 기록합니다. 누구나 쉽게이 작업을 수행 할 수있는 방법을 찾고 있다면이 링크가 도움이 될 것입니다.
다음은 몇 가지 프로젝트에서 작성하고 사용한 간단한 클래스입니다. imagick을 랩핑하고 각 페이지를 디스크에 기록합니다. 누구나 쉽게이 작업을 수행 할 수있는 방법을 찾고 있다면이 링크가 도움이 될 것입니다.
-
==============================
10.다르게 생각하십시오, 당신은 javascript를 사용하여 심상에 pdf를 개조하기 위하여 뒤에 오는 도서관을 이용할 수있다
다르게 생각하십시오, 당신은 javascript를 사용하여 심상에 pdf를 개조하기 위하여 뒤에 오는 도서관을 이용할 수있다
http://usefulangle.com/post/24/pdf-to-jpeg-png-with-pdfjs
from https://stackoverflow.com/questions/467793/how-do-i-convert-a-pdf-document-to-a-preview-image-in-php by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
PHP의 모든 위치에 배열에 새 항목 삽입 (0) | 2018.09.12 |
---|---|
foreach 루프에서 첫 번째와 마지막 반복을 확인하는 방법은 무엇입니까? (0) | 2018.09.12 |
PHP exec ()의 sudo (0) | 2018.09.12 |
MySQL에 쓸 때 TextArea에서 줄 바꿈을 유지합니다. (0) | 2018.09.12 |
LIMIT이 적용되기 전에 결과를 얻는 가장 좋은 방법 (0) | 2018.09.12 |