正确的方法HTML转换为PDF(Proper way to convert HTML to PDF)

2019-08-01 08:43发布

我想HTML页面转换为PDF。 有几个选项,但他们有一些问题。

  • 在IE打印HTML页面中通过PDFCreator (太麻烦)
  • 使用wkhtmltopdf (低质量)
  • 使用PhantomJS (低质量)

也许我可以用一个复杂的解决方案? 带打印PhantomJS通过PDFCreator ,或改善品质wkhtmltopdf ,也许别的东西吗?

Answer 1:

也许你可以尝试用Amyuni WebkitPDF 。 它不是开源的,但它是免费用于商业用途,它可以从C#中使用。

从文档C#示例代码:

static private void SaveToFile(string url, string file)
{        
    // Store the WebkitPDFContext returned value in an IntPtr
    IntPtr context = IntPtr.Zero;
    // Open the URL. The WebkitPDFContext returned value will be stored in
    // the passed in IntPtr
    int ret = WKPDFOpenURL(url, out context, 0, false);
    if (ret == 0)
    {
        // if ret is 0, then we succeeded in opening the URL.
        // Save the result as PDF to a file. Use the obtained context value
        ret = WKPDFSaveToFile(file, context);
    }
    if (ret != 0)
        Debug.WriteLine("Failed to run SaveToFile on '" + url + "' to generate file '" + file + "'");
    // Make sure to close the WebkitPDFContext because otherwise the
    // internal PDFCreator as well as other objects will not be released
    WKPDFCloseContext(context);
}

通常免责声明适用



Answer 2:

您可以正确地转换HTML使用GroupDocs.Conversion为.NET PDF API 。 看一看的代码:

// Setup Conversion configuration and Initailize ConversionHandler    
ConversionConfig config = new ConversionConfig();    
config.StoragePath = "source file storage path";    
// Initailize ConversionHandler    
ConversionHandler conversionHandler = new ConversionHandler(config);    
// Convert and save converted document    
var convertedDocumentPath = conversionHandler.Convert("sample.html", new PdfSaveOptions{});    
convertedDocumentPath.Save("result-" + Path.GetFileNameWithoutExtension("sample.html") + ".pdf");  

披露:我作为GroupDocs开发传播者工作。



文章来源: Proper way to convert HTML to PDF