System.InvalidOperationException: ''DocumentRenderer' 必须在调用 'PrepareDocumentRenderer' 之前设置。'

System.InvalidOperationException: ''DocumentRenderer' must be set before calling 'PrepareDocumentRenderer'.'

我正在尝试使用 pdfsharp 和 migradoc 将 html 代码转换为 pdf。在 RenderDocument() 函数出现此错误后,我对土耳其语 characters.But 使用了 RenderDocument() 函数。 System.InvalidOperationException: '' DocumentRenderer 'must be set before calling' PrepareDocumentRenderer '.'

我通过查看此 link 中的示例编写了下面的代码。 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);
}

您正在使用创建 PDF 文件的 HTML Renderer for PDF using PDFsharp,而不是 MigraDoc 文档。您将其与 MigraDoc 中的示例代码混合使用。事情不是这样的。

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