从大型HTML生成PDF

时间:2016-01-12 10:56:59

标签: c# html pdf aspose aspose.pdf

我正在从HTML字符串生成PDF。 当这个字符串真的很长时,我想创建一个新页面,拆分文本(不破坏html)等等。

这是我的代码:

// instantiate Pdf object
Aspose.Pdf.Generator.Pdf pdf = new Aspose.Pdf.Generator.Pdf();

// specify the Character encoding for for HTML file
pdf.HtmlInfo.CharSet = "UTF-8";
pdf.HtmlInfo.Margin.Left = 10;
pdf.HtmlInfo.Margin.Right = 10;
pdf.HtmlInfo.PageHeight = 1050;
pdf.HtmlInfo.PageWidth = 730;
pdf.HtmlInfo.ShowUnknownHtmlTagsAsText = true;
pdf.HtmlInfo.TryEnlargePredefinedTableColumnWidthsToAvoidWordBreaking = true;
pdf.HtmlInfo.CharsetApplyingLevelOfForce = Aspose.Pdf.Generator.HtmlInfo.CharsetApplyingForceLevel.UseWhenImpossibleDetectFromContent;
// bind the source HTML

pdf.BindHTML("MyVeryVeryLongHTML");

MemoryStream stream = new MemoryStream();
pdf.Save(stream);

byte[] pdfBytes = stream.ToArray();

此代码适用于HTML,但不处理溢出。文本在页面后继续。是否可以将页面的最大“高度”设置为不交叉,如果是,则重新创建新页面?

希望它有意义!

非常感谢

1 个答案:

答案 0 :(得分:1)

您可以通过选择所需的PDF页面类型(如A1,A2等)来设置页面高度。之后,Aspose将自动解决您的页面高度问题。有关更多信息,请参阅链接..

Aspose PDF Page Height

更新

pdf.HtmlInfo更新为pdf.PageSetup (or pdf.PageInfo)并添加底部边距。