如何使用打印机/裁剪标记裁剪Pdf

时间:2013-08-08 19:09:09

标签: c# .net pdf crop aspose

示例PDF是:PDF

使用Aspose.PDF for .NET,我正在尝试裁剪边缘有空白区域和打印机/裁剪标记的PDF。 我的第一个方法是找出艺术盒,媒体盒,装饰盒,裁剪盒的尺寸;并尝试弄清楚这些盒子中是否有任何一个不包含空白区域,所以我可以将其裁剪掉并保存为新的PDF格式。

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

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

2 个答案:

答案 0 :(得分:1)

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

我稍微改变了MediaBox [72 72 1570.5 963]: enter image description here

答案 1 :(得分: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担任开发人员传播者。