Мне нужно конвертировать несколько файлов HTML (около 30) в PDF-файлы. Было бы здорово, если бы я мог создать оглавление и ссылочные страницы, но сейчас я просто рад конвертировать отдельные файлы:)
Я уже пробовал пару решений, самым успешным из которых был EO.PDF, но он наносил неприятный водяной знак на каждую страницу и не мог обрабатывать файлы размером более нескольких мегабайт, а некоторые из них - 10 мг +.
Я прочитал много хорошего о wkhtmltopdf и нашел для него упаковку WkHTMLToSharp. Я не могу найти какую-либо документацию, поэтому я собрал следующий фрагмент кода, который вызывает исключение. Буду признателен за помощь в решении этой проблемы.
Я заметил строку, которая вызывает исключение. Исключение (очень бесполезное):
"The type initializer for 'WkHtmlToXSharp.WkHtmlToPdfConverter' threw an exception."
- КОД -
/// <summary>
/// Creates a PDF file from the HTML file passed in
/// </summary>
/// <param name="cFile">Full path to HTML file to generate PDF from</param>
/// <param name="pdfFile">Full path of PDF output file</param>
public static void WritePDF(string cFile, string pdfFile)
{
// Generates "The type initializer for
// 'WkHtmlToXSharp.WkHtmlToPdfConverter' threw an exception.":
WkHtmlToPdfConverter w = new WkHtmlToPdfConverter();
byte[] strHTML = w.Convert(cFile);
File.WriteAllBytes(pdfFile, strHTML);
w.Dispose();
}
После решения проблемы с отсутствующей DLL я обнаружил, что часть кода фактически преобразует строку HTML, а не файл. Я могу работать с этим, но ОЧЕНЬ предпочел бы работать с файлами HTML.
Кроме того, ни одно из изображений не отображается в файле PDF. Все они JPG (я знаю, что есть проблема с GIFS).