0

我正在尝试使用 pdfsharp 和 migradoc 将 html 代码转换为 pdf。我对土耳其语字符使用 RenderDocument() 函数。但是在 RenderDocument() 函数之后,我得到了这个错误。System.InvalidOperationException:''DocumentRenderer'必须在调用'PrepareDocumentRenderer'之前设置。'

我通过查看此链接中的示例编写了下面的代码。 http://www.pdfsharp.net/wiki/HelloMigraDoc-sample.ashx

protected void btnGeneratePdf_Click(object sender, EventArgs e)
{
    string html = "";
    using (var client = new WebClient())
    {
        html = client.DownloadString("http://localhost:14670/WebForm6");
    }

    PdfGenerateConfig config = new PdfGenerateConfig();
    config.PageSize = PageSize.A4;
    config.SetMargins(20);

    var doc = PdfGenerator.GeneratePdf(html, config);

    PdfDocumentRenderer renderer = new PdfDocumentRenderer(true);
    renderer.PdfDocument = doc;
    renderer.RenderDocument();

    var tmpFile = "C://Users//mutlu.ozkurt//Desktop//Files/tmp372A.pdf";
    renderer.PdfDocument.Save(tmpFile);

    Process.Start(tmpFile);
}
4

1 回答 1

0

您正在使用HTML Renderer for PDF using PDFsharp创建 PDF 文件,而不是 MigraDoc 文档。您将其与来自MigraDoc. 事情不是这样的。

使用doc您获得的变量并使用它直接创建 PDF,而无需调用任何 MigraDoc 代码。

于 2020-12-02T15:13:47.380 回答