В настоящее время я пытаюсь сгенерировать pdf из html (html генерируется с использованием https://github.com/jaredrummler/HtmlBuilder и является действительным).
Моя последняя попытка преобразовать данный html в pdf была следующей:
TextView textView = new TextView(MyApp.getContext());
textView.setText(htmlBuilder.build());
textView.measure(600, 800);
textView.layout(0, 0, 600, 600);
textView.setWidth(600);
textView.setHeight(800);
System.out.println("HTML: " + html);
// create a new document
PdfDocument document = new PdfDocument();
// create a page description
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(600, 600, 1).create();
// start a page
PdfDocument.Page page = document.startPage(pageInfo);
// draw something on the page
View content = textView;
content.draw(page.getCanvas());
// finish the page
document.finishPage(page);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] pdfBytes = new byte[0];
try {
document.writeTo(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
После преобразования pdfdocument превращается в байты для отправки их на сервер.Моя проблема сейчас в том, что Pdf-файлы, которые получает сервер, пусты.(Они кажутся действительными PDF-файлами, но пустыми).
Об одном замечании: я знаю, что существует множество библиотек для такого рода проблем, но ни одна из них (или, по крайней мере, ни одна)что я в курсе) коммерчески пригодны.Если кто-то знает библиотеку, которая была бы применима (конвертирует html в pdf) и находится под лицензией Apache 2.0 или MIT, не стесняйтесь связывать их здесь.
Редактировать: мне уже удалось, что PDFпоказывает содержимое путем определения макета, ширины и т. д. Но содержимое масштабируется слишком сильно и обрезается.
Может кто-нибудь поделиться советом или дать представление об этом?Любая помощь будет принята с благодарностью.