PrintedPdfDocument BMP в PDF - PullRequest
       1

PrintedPdfDocument BMP в PDF

0 голосов
/ 17 июня 2020

Я пытаюсь сохранить изображение BMP в PDF:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

try {

        scannedImageView.setImageBitmap(bitmap);

        // open a new document
        PrintedPdfDocument document = new PrintedPdfDocument(context, bitmap); // cannot resolve symbol context.

        // start a page
        PdfDocument.Page page = document.startPage(0);

        // draw something on the page
        View content = scannedImageView;
        content.draw(page.getCanvas());

        // finish the page
        document.finishPage(page);
        // add more pages

        // write the document content
        document.writeTo(getOutputStream()); // cannot resolve method getOutputStream()

        //close the document
        document.close();
}

Я прокомментировал ошибки в context и getOutputStream(). Есть идеи, как решить?

1 Ответ

0 голосов
/ 17 июня 2020
  • Если вы используете класс Activity, вам следует заменить context на this.
  • Если вы используете класс Fragment, вы должны заменить context на getContext().
  • Если вы используете androidx.fragment.app.Fragment, вы должны иметь возможность использовать requireContext(), поскольку он гарантирует, что вы получите объект Context, иначе он вызовет исключение.

Здесь являются объявлениями методов getContext() и requireContext() в androidx.fragment.app.Fragment:

enter image description here

getOutputStream() не определено в Activity или Fragment. Это функция, которую вы должны определить, которая будет возвращать выходной поток, который определит, в какой файл будет записан ваш PDF-файл. Вы можете взглянуть на FileOutputStream .

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