Android: конвертировать HTML в PDF в фоновом режиме - PullRequest
0 голосов
/ 27 марта 2019

В настоящее время я пытаюсь сгенерировать 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показывает содержимое путем определения макета, ширины и т. д. Но содержимое масштабируется слишком сильно и обрезается.

Может кто-нибудь поделиться советом или дать представление об этом?Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...