我需要将HTML转换为PDF。
我研究了几种不同的工具。
这两个我已经实际下载了sdk并玩了一下我还做了一些关于其他几个的基础研究。
我遇到的问题是我需要能够将文档格式化为具有不同的页面大小和方向,而我似乎无法获得很多支持。
例如,任何页面上有一个img标签太大而无法修复页面potrait应该将其页面旋转并制作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);
问题在于,矩形似乎永远不会在页面之外,因为它已被剪掉,并且永远不会触及更改页面大小的代码。
是否还有其他可能提供类似功能的选项?
答案 0 :(得分:0)
我运行一个名为DocRaptor的服务,它使用HTTP POST请求将HTMl转换为PDF。如果您知道哪些页面需要调整大小,那么这很容易解决。
但是,它不会自动检测太大而不适合的图像,尽管可以使用CSS处理。