테스트 사이트 - 개발 중인 베타 버전입니다

PHP로 pdf의 페이지수를 얻기

· 2년 전 · 1100 · 1

PHP에서 PDF 파일의 페이지 수를 얻기 위해서는 외부 라이브러리를 사용해야 합니다. 예를 들어, `mikehaertl/php-pdftk` 라이브러리를 사용하여 PDF 페이지 수를 얻을 수 있습니다.

먼저, `composer`를 사용하여 `mikehaertl/php-pdftk` 라이브러리를 설치합니다. 프로젝트 디렉토리에서 다음 명령을 실행하면 됩니다:

[code]
composer require mikehaertl/php-pdftk
[/code]

다음은 PHP 코드를 사용하여 PDF 파일의 페이지 수를 얻는 예시입니다:

[code]
<?php
require 'vendor/autoload.php';

use Mikehaertl\ShellCommand\Command;

$pdfFile = 'example.pdf'; // PDF 파일 경로
$pdftkPath = '/path/to/pdftk'; // pdftk 실행 파일 경로

// pdftk 명령 준비
$command = new Command($pdftkPath);
$command->addArg($pdfFile)
->addArg('dump_data')
->addArg('output')
->execute();

if ($command->isSuccessful()) {
$output = $command->getOutput();
$pageCount = 0;

// 페이지 수 파싱
preg_match('/NumberOfPages: (\d+)/', $output, $matches);

if (isset($matches[1])) {
$pageCount = intval($matches[1]);
}

echo "PDF 페이지 수: $pageCount";
} else {
echo "PDF 정보를 가져오는 동안 오류가 발생했습니다.";
}
?>
[/code]

위 코드에서는 `mikehaertl/php-pdftk` 라이브러리를 사용하여 외부 명령인 pdftk를 실행합니다. `$pdfFile` 변수에 원하는 PDF 파일의 경로를 지정하고, `$pdftkPath` 변수에 pdftk 실행 파일의 경로를 지정해야 합니다. 그런 다음, `Command` 클래스를 사용하여 pdftk 명령을 실행하고 결과를 분석하여 페이지 수를 얻습니다.

위의 예시 코드에서는 `getOutput()` 메서드를 통해 pdftk 명령의 출력을 가져오고, 정규식을 사용하여 출력에서 페이지 수를 추출합니다. 최종적으로, 페이지 수를 출력하는 부분은 `$pageCount` 변수를 사용하여 변경할 수 있습니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

hacky way 의 방법이라면
echo exec('strings example.pdf | grep -w "Page" | wc -l');
이 있습니다.

그러나 제대로 개발하려면 본문처럼 3rd party 프로그램을 사용해야겠죠.

게시글 목록

번호 제목
17927
17926
17922
17921
17915
17910
17907
17892
17888
17879
17878
17874
17873
17872
17871
17870
17869
17868
17866
17865
17864
17863
17862
17859
17856
17845
17835
17834
17826
17823