C# 将修剪/放气标记添加到PDF-PDFsharp

C# 将修剪/放气标记添加到PDF-PDFsharp,c#,pdf,pdfsharp,C#,Pdf,Pdfsharp,我正在尝试使用添加到PDF 我可以设置PDF的左上角,但是所有其他角都不显示, 我正在做的是将xGraphics.DrawLine设置为左上角的位置,为左上角和左上角底部添加出血标记,然后旋转PDF的页面,以便可以使用相同的xGraphics.DrawLine位置,因此如果PDF的页面大小不同,我希望是因为它位于左上角,它将始终具有正确的出血标记位置。下面是我创建的方法以及结果。我还尝试使用XGraphics XGraphics=XGraphics.FromPdfPagePdfPageIn fo

我正在尝试使用添加到PDF

我可以设置PDF的左上角,但是所有其他角都不显示,
我正在做的是将xGraphics.DrawLine设置为左上角的位置,为左上角和左上角底部添加出血标记,然后旋转PDF的页面,以便可以使用相同的xGraphics.DrawLine位置,因此如果PDF的页面大小不同,我希望是因为它位于左上角,它将始终具有正确的出血标记位置。下面是我创建的方法以及结果。我还尝试使用XGraphics XGraphics=XGraphics.FromPdfPagePdfPageIn for int I=1;iAFAIK您必须在更改页面旋转后创建一个新的XGraphics对象

你要画四个角,每个角一个。但是,如果坐标随页面旋转,那么代码将在同一位置绘制四个角度

停止旋转页面,分别绘制四个角度


顺便说一句:调用Save仅在稍后调用Restore时才有意义。据我所知,在代码中调用Save没有任何视觉效果。最好放下那条线。

我希望我可以旋转它,因为我在获得所有其他角时遇到了困难,但是感谢你清理了这条线,因为它不会像我预期的那样工作。
/// <summary>
/// Add Bleed To PDF.
/// </summary>
/// <param name="pdfDocument"></param>
static void AddBleed(ref PdfDocument pdfDocument)
{
    // Check The Pdf Has Been Loaded Into Memory.
    if (pdfDocument.PageCount > 0)
    {
        // Create Pen.
        XPen xPen = new XPen(XColors.Gray, 3);
        const float TRIM_MARK_LEN = 30;

        // Start Looping The Pdf's Pages
        foreach (PdfPage pdfPage in pdfDocument.Pages)
        {
            using (XGraphics xGraphics = XGraphics.FromPdfPage(pdfPage))
            {                     
                // A Page Has 4 Sides.
                for (int i = 1; i <= 4; i++)
                {
                    // Top Left.
                    xGraphics.DrawLine(xPen, TRIM_MARK_LEN, TRIM_MARK_LEN - 10, TRIM_MARK_LEN, -10);

                    // Bottom Top Left.
                    xGraphics.DrawLine(xPen, 0, TRIM_MARK_LEN, TRIM_MARK_LEN - 10, TRIM_MARK_LEN);

                    // Rotate The Pdf Page.
                    xGraphics.PdfPage.Rotate = xGraphics.PdfPage.Rotate + 90;

                    // Save The Graphics.
                    xGraphics.Save();
                }
            }
        }
    }
}