Добавить метки обрезки / обрезки в PDF - PDFsharp - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь добавить метки обрезки / обрезки в PDF с помощью PDFsharp

Я могу установить верхний левый угол PDF-файла, однако все остальные углы не отображаются,

Что я делаю, так это устанавливаю xGraphics.DrawLine в положение верхнего левого угла, добавляя метки обрезки как для верхнего левого, так и для верхнего левого нижнего, а затем явращая страницу PDF, чтобы можно было использовать те же самые позиции xGraphics.DrawLine,

, чтобы, если размер страниц PDF был другим, я надеюсь, потому что в верхнем левом углу он всегда будет иметь правильную метку удаленияposition.

Ниже приведен метод, который я создал, а также результат.

Я также попытался поместить using (XGraphics xGraphics = XGraphics.FromPdfPage(pdfPage)) в for (int i = 1; i <= 4; i++), надеясь, что он перезагрузит страницу pdf с изменениями, посколькуПервый цикл, кажется, в порядке, но без изменений.

/// <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();
                }
            }
        }
    }
}

enter image description here

...