HTML таблица в PDF с использованием iText - PullRequest
4 голосов
/ 09 августа 2011

Я анализирую HTML-код, используя HTMLWorker на Java, а затем вставляю его в PDF, используя iText.Я создаю документ, вызывая new Document(PageSize.A4, 40, 40, 40, 40);, который должен указывать поле 40px со всех сторон, но когда я вставляю разобранный HTML-код, содержащий таблицу шире, чем страница, правое поле не работает, и таблица достигает правой границы страницы ... Все поля в порядке, кромеправильный .. есть предложения?

соответствующий код:

Document document = new Document(PageSize.A4, 40, 40, 40, 40);

HashMap<String, Object> map = new HashMap<String, Object>();
map.put(HTMLWorker.FONT_PROVIDER, new MyFontFactory10());

HTMLWorker worker = new HTMLWorker(document);
worker.setProviders(map);

worker.parse(new StringReader(VARIABLE_CONTAINING_HTML_CODE));

1 Ответ

1 голос
/ 11 августа 2011

должно работать. Можете ли вы предоставить информацию о версии iText и о том, как выглядит HTML-код. Изображения могут увеличить размер таблицы за пределы поля (кстати, это не пиксели).

Попробуйте этот код и посмотрите, сохраняется ли проблема. Таблица не должна выходить за пределы полей страницы. Таблицы, используемые в HTMLWorker, всегда получают ширину 100% своего контейнера.

Document document = new Document(PageSize.A4, 40, 40, 40, 40);         
PdfWriter writer   = PdfWriter.getInstance(document, new FileOutputStream("c:/TEST.pdf"));
document.open();
HTMLWorker worker = new HTMLWorker(document);
String code = "<table border=1><tr><td>Test</td><td>Test</td></tr></table>"; 
worker.parse(new StringReader(code));
document.close();
...