PHP로 pdf의 페이지수를 얻기
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개
echo exec('strings example.pdf | grep -w "Page" | wc -l');
이 있습니다.
그러나 제대로 개발하려면 본문처럼 3rd party 프로그램을 사용해야겠죠.
게시판 목록
개발자팁
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5096 | PHP | 3년 전 | 1504 | ||
| 5095 | JavaScript | 3년 전 | 2133 | ||
| 5094 | JavaScript | 3년 전 | 2053 | ||
| 5093 | 기타 | 3년 전 | 1418 | ||
| 5092 | JavaScript | 3년 전 | 1965 | ||
| 5091 | 기타 |
|
3년 전 | 1323 | |
| 5090 | 기타 |
|
3년 전 | 2260 | |
| 5089 | 웹서버 |
|
3년 전 | 3337 | |
| 5088 | JavaScript | 3년 전 | 2068 | ||
| 5087 | 기타 | 3년 전 | 1667 | ||
| 5086 | 웹서버 |
|
3년 전 | 1712 | |
| 5085 | node.js | 3년 전 | 1655 | ||
| 5084 | JavaScript |
DogFoot개발
|
3년 전 | 1457 | |
| 5083 | 웹서버 |
DogFoot개발
|
3년 전 | 2995 | |
| 5082 | JavaScript |
DogFoot개발
|
3년 전 | 4032 | |
| 5081 | JavaScript |
DogFoot개발
|
3년 전 | 2102 | |
| 5080 | JavaScript |
DogFoot개발
|
3년 전 | 2444 | |
| 5079 | 기타 |
DogFoot개발
|
3년 전 | 2496 | |
| 5078 | OS | 3년 전 | 1655 | ||
| 5077 | 웹서버 |
DogFoot개발
|
3년 전 | 1730 | |
| 5076 | 기타 |
DogFoot개발
|
3년 전 | 1537 | |
| 5075 | 기타 |
DogFoot개발
|
3년 전 | 1679 | |
| 5074 | 기타 | 4년 전 | 2291 | ||
| 5073 | 기타 | 4년 전 | 2562 | ||
| 5072 | 웹서버 |
|
4년 전 | 2241 | |
| 5071 | 웹서버 | 4년 전 | 3240 | ||
| 5070 | PHP | 4년 전 | 3200 | ||
| 5069 | 웹서버 | 4년 전 | 2436 | ||
| 5068 | 기타 |
|
4년 전 | 3019 | |
| 5067 | 기타 |
DogFoot개발
|
4년 전 | 2687 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기