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

PHP로 pdf의 페이지수를 얻기

· 2년 전 · 1101 · 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 프로그램을 사용해야겠죠.

게시글 목록

번호 제목
17657
17655
17654
17653
17652
17651
17650
17642
17633
17632
17631
17630
17628
17624
17623
17620
17618
17617
17614
17612
17611
17610
17609
17608
17607
17604
17603
17602
17600
17594