gpt4 book ai didi

c# - 如何使用 Migradoc PDF 库打开现有的 PDF 文件

转载 作者:行者123 更新时间:2023-11-30 17:45:07 26 4
gpt4 key购买 nike

我正在尝试使用 PDFSharp ( http://www.pdfsharp.net/ ) 的 Migradoc 库来打印 pdf 文件。到目前为止,我发现 Migradoc 确实支持通过其 MigraDoc.Rendering.Printing.MigraDocPrintDocument 类进行打印。但是,我还没有找到使用 MigraDoc 实际打开现有 PDF 文件的方法。

我确实找到了使用 PDFSharp 打开现有 PDF 文件的方法,但我无法成功地将 PDFSharp.Pdf.PdfDocument 转换为 MigraDoc.DocumentObjectModel.Document 对象.到目前为止,我还没有发现 MigraDoc 和 PDFSharp 文档非常有用。

有没有人有使用这些库处理现有 PDF 文件的经验?

我在 this 的帮助下编写了以下代码示例,但当我输入的 PDF 为 2 页时,结果是具有 2 个空白页的输出 PDF。

using MigraDoc.DocumentObjectModel;
using MigraDoc.Rendering;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;

...

public void PrintPDF(string filePath, string outFilePath)
{

var document = new Document();

var docRenderer = new DocumentRenderer(document);
docRenderer.PrepareDocument();

var inPdfDoc = PdfReader.Open(filePath, PdfDocumentOpenMode.Modify);

for (var i = 0; i < inPdfDoc.PageCount; i++)
{
document.AddSection();
docRenderer.PrepareDocument();

var page = inPdfDoc.Pages[i];

var gfx = XGraphics.FromPdfPage(page);

docRenderer.RenderPage(gfx, i+1);
}

var renderer = new PdfDocumentRenderer();

renderer.Document = document;

renderer.RenderDocument();

renderer.PdfDocument.Save(outFilePath);

}

最佳答案

您的代码修改内存中的 inPdfDoc 而不保存更改。没有任何视觉效果的复杂代码。

MigraDoc 无法打开 PDF 文件,MigraDoc 无法打印 PDF 文件,PDFsharp 无法打印 PDF 文件。

http://www.pdfsharp.net/wiki/PDFsharpFAQ.ashx

关于c# - 如何使用 Migradoc PDF 库打开现有的 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com