我想HTML页面转换为PDF。 有几个选项,但他们有一些问题。
- 在IE打印HTML页面中通过
PDFCreator
(太麻烦) - 使用
wkhtmltopdf
(低质量) - 使用
PhantomJS
(低质量)
也许我可以用一个复杂的解决方案? 带打印PhantomJS
通过PDFCreator
,或改善品质wkhtmltopdf
,也许别的东西吗?
我想HTML页面转换为PDF。 有几个选项,但他们有一些问题。
PDFCreator
(太麻烦) wkhtmltopdf
(低质量) PhantomJS
(低质量) 也许我可以用一个复杂的解决方案? 带打印PhantomJS
通过PDFCreator
,或改善品质wkhtmltopdf
,也许别的东西吗?
也许你可以尝试用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);
}
通常免责声明适用 。
您可以正确地转换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开发传播者工作。