示例 PDF 为:PDF
使用 Aspose.PDF for .NET,我正在尝试裁剪边缘有空白区域和打印机/裁剪标记的 PDF。我的第一个方法是找出艺术框、媒体框、裁切框、裁剪框的尺寸;并尝试找出这些框是否不包含空白,因此我可以将其裁剪并保存为新的 PDF。
但是,此 PDF 没有正确设置 ArtBox/TrimBox。所以我不能采取这种方法。
我的下一步是根据边缘的打印机/裁剪标记手动裁剪 PDF。但是我无法使用 Aspose 在 PDF 中找到这些元素。
下面的 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 担任开发人员布道师。
在您的特定情况下,TrimBox == ArtBox == BleedBox == MediaBox [0 0 1642.5 1035]。没有 CropBox,因此您可以尝试更改 MediaBox 值,默认情况下使用它代替 CropBox(例如在 iText 的帮助下)。
我稍微更改了 MediaBox [72 72 1570.5 963]: