1

示例 PDF 为:PDF

使用 Aspose.PDF for .NET,我正在尝试裁剪边缘有空白区域和打印机/裁剪标记的 PDF。我的第一个方法是找出艺术框、媒体框、裁切框、裁剪框的尺寸;并尝试找出这些框是否不包含空白,因此我可以将其裁剪并保存为新的 PDF。

但是,此 PDF 没有正确设置 ArtBox/TrimBox。所以我不能采取这种方法。

我的下一步是根据边缘的打印机/裁剪标记手动裁剪 PDF。但是我无法使用 Aspose 在 PDF 中找到这些元素。

4

2 回答 2

1

下面的 Aspose.Pdf for .NET 示例将裁剪您的 PDF 并删除打印机标记。

Aspose.Pdf.Document document = new Aspose.Pdf.Document(dataDir + "bre25419_cover.pdf");
//Iterate through All Pages of a PDF Document
for (int i = 1; i <= document.Pages.Count; i++)
{
    Aspose.Pdf.Rectangle cropBox = document.Pages[i].CropBox;
    // Crop percentage of width and height
    double percentageX = 4.4f / 100 * cropBox.URX;
    double percentageY = 6.7f / 100 * cropBox.URY;
    // update page's crop box
    document.Pages[i].CropBox = new Aspose.Pdf.Rectangle(cropBox.LLX + percentageX, cropBox.LLY + percentageY, cropBox.URX - percentageX, cropBox.URY - percentageY);

    Console.WriteLine("cropBox.LLX: " + cropBox.LLX + "\ncropBox.LLY: " + cropBox.LLY + "\ncropBox.URX: " + cropBox.URX + "\ncropBox.URY: " + cropBox.URY);
}
// save document         
document.Save(dataDir + "bre25419_cover_Output.pdf");

我在 Aspose 担任开发人员布道师。

于 2013-08-13T13:18:09.470 回答
1

在您的特定情况下,TrimBox == ArtBox == BleedBox == MediaBox [0 0 1642.5 1035]。没有 CropBox,因此您可以尝试更改 MediaBox 值,默认情况下使用它代替 CropBox(例如在 iText 的帮助下)。

我稍微更改了 MediaBox [72 72 1570.5 963]: 在此处输入图像描述

于 2013-08-12T05:11:57.483 回答