c#-4.0 - PDFsharp编辑pdf文件

标签 c#-4.0 pdf pdfsharp

环境-PDFsharp库,Visual Studio 2012和C#作为语言。

我在尝试着:

  • 阅读Test1.pdf(宽度= 17英寸,高度– 11英寸),一页纸
  • 向其中添加一些文本
  • 将其另存为另一个文件(Test2.pdf)

  • 我能够做以下所有事情。但是,当我打开文件Test2.pdf时,页面的大小将减小为宽度= 11英寸,高度– 11英寸。
    我正在使用的这些PDF文件是我从互联网上下载的产品规格表。我相信这仅在某些类型的文件上发生,并且我不确定如何区分这些文件。

    代码如下:
    //File dimentions - Width = 17 inches, Height - 11 inches (Tabloid Format)
    PdfDocument pdfDocument = PdfReader.Open(@"D:\Test1.pdf", PdfDocumentOpenMode.Modify);
    
    PdfPage page = pdfDocument.Pages[0];
    XGraphics gfx = XGraphics.FromPdfPage(page);
    XFont font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
    gfx.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
    
    //When the file is saved dimentions change to - Width = 11 inches, Height - 11 inches
    pdfDocument.Save(@"D:\Test2.pdf");
    

    我已将文件上传到这里Test1.pdf

    ================================================== ===============================

    根据PDFsharp小组的建议,代码应如下所示:
    PdfDocument PDFDoc = PdfReader.Open(@"D:\Test1.pdf", PdfDocumentOpenMode.Import);
    PdfDocument PDFNewDoc = new PdfDocument();
    
    for (int Pg = 0; Pg < PDFDoc.Pages.Count; Pg++)
    {
        PdfPage pp = PDFNewDoc.AddPage(PDFDoc.Pages[Pg]);
    
        XGraphics gfx = XGraphics.FromPdfPage(pp);
        XFont font = new XFont("Arial", 10, XFontStyle.Regular);
        gfx.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, pp.Width, pp.Height), XStringFormats.BottomCenter);
    }
    
    PDFNewDoc.Save(@"D:\Test2.pdf");
    

    最佳答案

    无需修改文档,请创建新文档并将页面从旧文档复制到新文档。

    可以在PDFsharp论坛上的此帖子中找到示例代码:
    http://forum.pdfsharp.net/viewtopic.php?p=2637#p2637

    关于c#-4.0 - PDFsharp编辑pdf文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17647872/

    相关文章:

    c# - 如何使用c#在Excel中读取数据列标题和每个单元格的数据

    c# - 同步方法中的异步调用

    .net - 在 C# 4.0 中为可选参数提供默认值

    java - 为什么下载的文件会损坏?

    pdf - 使用 Itextsharp 裁剪 pdf 的左侧

    c# - Migradoc 真实表格单元格填充

    c# - C# 中是否存在可使局部变量在多次调用中保持不变的关键字?

    javascript - 如何将 javascript 添加到 PDF 文档以计算选中框的数量并将值输入文本框区域?

    c# - 对齐单元格,使文本在底部对齐

    c# - 有什么方法可以在没有 "/Rect"的情况下获得 AcroField 在 PdfSharp 中的位置?