저는 CAM :: PDF의 저자입니다.
음, 여기에는 두 부분이 있습니다. 하나는 페이지의 크기입니다. 즉 예상대로 작동 : 나는이 두 개의 명령 라인 PDF 파일을 회전 애플의 Preview.app을 사용하고 실행 :
perl -MCAM::PDF -le'print "@{[CAM::PDF->new(shift)->getPageDimensions(1)]}"' orig.pdf
0 0 612 792
perl -MCAM::PDF -le'print "@{[CAM::PDF->new(shift)->getPageDimensions(1)]}"' rotated.pdf
0 0 792 612
을하지만`/ 회전 '페이지 속성도있다. 인수는 여러 도수 (기본값은 0이지만 90 또는 270은 흔하지 않음)입니다. 페이지 크기와 마찬가지로 상속 가능한 속성이므로 상위 페이지로 이동해야합니다. 다음은 회전 값을 출력하는 신속하고 지저분한 명령 줄 도구입니다.
use CAM::PDF;
my $filename = shift || die;
my $pagenum = shift || die;
my $pdf = CAM::PDF->new($filename) || die;
my $pagedict = $pdf->getPage($pagenum);
my $rotate = 0;
while ($pagedict) {
$rotate = $pdf->getValue($pagedict->{Rotate});
if (defined $rotate) {
last;
}
my $parent = $pagedict->{Parent};
$pagedict = $parent && $pdf->getValue($parent);
}
print "/Rotate $rotate\n";
감사합니다. Chris. $ pagedict -> {Rotate} -> {value} 부분을 찾았습니다. 하지만 부모 파트가 아닙니다. 다시 한번 감사드립니다. – Thushan
작은 수정. while에있는 "my $ rotate"는 $ rotate 여야합니다. – Thushan
감사합니다. 내 테스트 PDF에는 명백한 "/ Rotate 0"(확실하지 않은 이유 ...)이 있으므로 버그를 알지 못했습니다. –