-1

我需要在 perl 中获取 pdf 文件页面上的现有边距(左、右、上、下),这是获取 padf 页面尺寸的代码。

!/usr/bin/perl

use strict;
use warnings;

use CAM::PDF;
    
my $pdf = CAM::PDF->new('test2.pdf');

my $num_page=$pdf->numPages();
print "Total Pages : $num_page\n";

my ($x,$y,$width,$height)=$pdf->getPageDimensions(2);
print "Dimension of PDF File : $width x $height  px \n";

$width=sprintf("%.2f",$width/72);   # PPI/DPI Conversion (72 px = 1 inch)
$height=sprintf("%.2f",$height/72);

print "Dimension of PDF File is : $width x $height inch \n"
4

1 回答 1

2

PDF 文件与 Word 文档不同,您无法更改“边距”并使文本自身重排为新大小。它更像是已在页面上格式化和布局的渲染文档的图像快照(即 TIFF 文件)。因此,PDF 中没有“边距”设置的概念。那时它是一个空白页,上面放着一堆对象。碰巧大多数对象都包含在一个大框内,该框在页面布局时由边距定义。

您可以通过查看页面上每个对象的边界框来近似页边距,但您必须忽略通常在“页边距”之外的内容,例如页眉/页脚和页码、边注等。

于 2013-08-19T20:00:36.610 回答