Использование iText 7 для создания PDF-документа из HTML с изображениями, размер которых превышает размер бумаги форматаHtml

Программисты Html
Ответить
Anonymous
 Использование iText 7 для создания PDF-документа из HTML с изображениями, размер которых превышает размер бумаги формата

Сообщение Anonymous »

Я использую iText 7 для преобразования HTML-документа в PDF. Это работает очень хорошо, но изображения, размер которых превышает размер страницы PDF, выходят за пределы страницы, и эту часть невозможно увидеть при открытии документа PDF. Я использовал автоматическое масштабирование, и это решает проблему, но при автоматическом масштабировании изображение теряет некоторую информацию. Я хотел бы создать страницу для изображения размером с изображение. Поэтому всякий раз, когда изображение обрабатывается, оно помещается на отдельную страницу, размер которой равен размеру изображения.
Вот код, который я использую для создания PDF-файла из html:

Код: Выделить всё

using (MemoryStream pdfBodyStream = new MemoryStream())
using (PdfWriter writer = new PdfWriter(pdfBodyStream))
using (PdfDocument pdfDocumentBody = new PdfDocument(writer))
{
pdfDocumentBody.AddNewPage();
var properties = new ConverterProperties();
properties.SetTagWorkerFactory(new CustomTagWorkerFactory(Dal, email.getItemAttachments.ToList()));
HtmlConverter.ConvertToPdf(email.Body, pdfDocumentBody, properties);
pdfDocumentBody.Close();
return pdfBodyStream.ToArray();
}

public override ITagWorker GetCustomTagWorker(IElementNode tag, ProcessorContext context)
{
if ("img".Equals(tag.Name(), StringComparison.OrdinalIgnoreCase))
{
return new CustomImgWorker(tag, context, Dal, Attachments);
}
return null;
}
В классе CustomImgWorker я использую переопределенный метод ProcessEnd для получения изображений для HTML из другого места и создания изображения с помощью ImageDataFactory из iText. Затем переопределенный метод GetElementResult возвращает этот объект изображения. Теперь я не уверен, как мне добиться того, чего я хочу, поскольку я не нашел ничего, где я мог бы контролировать добавление страниц в документ с помощью метода HtmlConverter.ConvertToPdf.
Знает ли кто-нибудь, как я буду создавать новую страницу для каждого из тегов img в html, которые имеют такой же размер, как и само изображение?

Подробнее здесь: https://stackoverflow.com/questions/798 ... e-larger-t
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»