如何根据PDF :: API2中的图像大小创建页面?

时间:2009-08-18 16:16:57

标签: perl image pdf-generation

我正在从图像文件列表中创建一个pdf,我想知道是否可以创建我的pdf的每个页面,使其与我当前添加的任何图像的大小相同 - 所以它们都适合而且没有更大的那些被裁剪或其他什么。

目前我正在创建这样的网页:my $page = $pdf->page();

我也有特定图像的对象。如果有人可以将其标记为PDF :: API2,那就太棒了。

2 个答案:

答案 0 :(得分:2)

我想您要查看$pdf->mediabox()$pdf->cropbox()$pdf->bleedbox()$pdf->trimbox()

你可能想找到PDF规范来确定它们是如何工作的。

答案 1 :(得分:2)

你是否真的想在屏幕上观看?如果打印尺寸无关紧要,您可以这样做:

use PDF::API2;
my $pdf = PDF::API2->new();

foreach my $filename (@list_of_jpeg_locations) {
    my $image = $pdf->image_jpeg($filename);

    my $width  = $image->width();
    my $height = $image->height();

    # Set the page size to equal the image size
    my $page = $pdf->page();
    $page->mediabox($width, $height);

    # Place the image in the bottom corner of the page
    my $gfx = $page->gfx();
    $gfx->image($image, 0, 0);
}

$pdf->saveas('/path/to/file.pdf');

如果需要,您可以调整此代码以缩放图像以适合特定的打印页面大小。