2016-01-12 7 views
0

Я создаю PDF из строки HTML. Когда эта строка очень длинная, я хотел бы создать новую страницу, разделить текст (не нарушая 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

Вы можете установить высоту страницы, выбрав тип PDF страницы вам требуется как A1, A2 и т.д.. Послесловие ваша проблема высоты страницы автоматически будет зависеть от Aspose. Для более отсылаем ссылку ..

Aspose PDF Page Height

Update

обновления pdf.HtmlInfo в pdf.PageSetup (or pdf.PageInfo) и добавить нижний край также.

+0

Я уже пробовал, но все равно делает то же самое. в моем вопросе я поставил код: pdf.HtmlInfo.PageHeight = 1050; Я также пробовал с pdf.HtmlInfo.PageHeight = Aspose.Pdf.Generator.PageSize.A4Height; - Тот же результат – carndacier

+0

После 'Aspose.Pdf.Generator.Pdf pdf = new Aspose.Pdf.Generator.Pdf();' задайте высоту и ширину страницы, которую вы ожидаете. – Lara

+1

Хорошо, я получил свою ошибку. Это было потому, что я сделал pdf.HtmlInfo вместо pdf.PageSetup (или pdf.PageInfo). Мне также пришлось добавить нижнюю границу. Спасибо за ваш ответ, я помету ваш ответ как исправленный. возможно, просто добавьте мой комментарий в свой ответ для следующего пользователя, который мог бы помочь :) – carndacier