【问题标题】:How to crop a Pdf with printer/crop marks如何使用打印机/裁剪标记裁剪 Pdf
【发布时间】:2013-08-10 15:28:01
【问题描述】:

示例 PDF 为:PDF

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

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

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

【问题讨论】:

    标签: c# .net pdf crop aspose


    【解决方案1】:

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

    我稍微改变了 MediaBox [72 72 1570.5 963]:

    【讨论】:

    • 感谢 stanlyF 的回复,但我正在寻找一种方法来自动为数千个 PDF 裁剪 PDF 的打印机标记,而不依赖于艺术框、裁剪框,因为某些 PDF 的坐标无效这些盒子。
    • 您的 PDF 文件包含以简单线段形式绘制的 PrinterMarks(必须是 PrinterMark 用于打印机标记注释)。所以你无法通过pdf解析来识别它们。
    【解决方案2】:

    下面的 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 担任开发人员宣传员。

    【讨论】:

    • 感谢 Saqib 的回复,这适用于一个 PDF,但我正在寻找一种方法来为数千个具有不同边距的 PDF 自动执行此过程,因此我需要一种方法来动态查找偏移量打印机边距,然后使用该值进行裁剪。
    • 有没有办法找到打印机标记的边缘,然后将pdf尺寸的坐标分配给这些值?
    • 我更新了使用百分比值而不是固定值的示例代码。请看看这是否有帮助。理想的解决方案是检测顶部、底部、左侧和右侧边缘的 4 条黑线,但这需要图像处理。
    猜你喜欢
    • 2011-08-13
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 2011-03-23
    • 2011-09-05
    相关资源
    最近更新 更多