Мне нужно конвертировать HTML в PDF.
Я изучил несколько различных инструментов.
ActivePDF WebGrabber
- неправильно проанализировал наши страницы, просто вернул коды ошибок
ExpertPDF HtmlToPdf Converter
Это те два, которые я на самом деле скачал sdk и поиграл с ними. Я также провел некоторые фундаментальные исследования нескольких других.
Проблема, с которой я столкнулся, заключается в том, что мне нужно иметь возможность форматировать документы, чтобы они имели разные размеры страниц и ориентации, которые, как мне кажется, не находят большой поддержки.
Например, любая страница, на которой есть тег img, который слишком велик, чтобы его можно было исправить на странице портрета, должен был повернуть свою страницу и сделать a3 (и, возможно, еще несколько таких правил).
Второй вариант имеет какой-то API для этого.
pdfConverter.HtmlElementsMappingOptions.HtmlTagNames = new string[] {"IMG"};
var x =pdfConverter.GetPdfDocumentObjectFromUrl(textBoxWebPageURL.Text);
foreach(HtmlElementMapping mapping in pdfConverter.HtmlElementsMappingOptions.HtmlElementsMappingResult)
{
foreach (var rectangle in mapping.PdfRectangles)
{
if (rectangle.Rectangle.Width + rectangle.Rectangle.Left > 595)
{
x.Pages[rectangle.PageIndex].Orientation = PDFPageOrientation.Landscape;
x.Pages[rectangle.PageIndex].PageSize.Width = 842;
x.Pages[rectangle.PageIndex].PageSize.Height = 1190;
}
}
}
x.Save(outFile);
Проблема в том, что кажется, что прямоугольник никогда не будет за пределами страницы, поскольку он уже обрезан, и код для изменения размера страницы никогда не будет достигнут.
Существуют ли другие варианты, которые могут обеспечить что-то подобное этой функции?