I explain how to make a PDF from an image on Android this time.
環境(Environment): Android Studio 2.2.1, API 21
今回もまずはサンプルコードから。
At first, look sample code below.
private void savePDFTmp(Bitmap bmpPrint){ File cachedir = getExternalCacheDir(); String path = cachedir.getPath() + "/sample.pdf"; File saveFile = new File(path); PdfDocument document = new PdfDocument(); PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(bmpPrint.getWidth(), bmpPrint.getHeight(), 1).create(); PdfDocument.Page page = document.startPage(pageInfo); Canvas canvas = page.getCanvas(); canvas.drawBitmap(bmpPrint, 0, 0, null); document.finishPage(page); try{ FileOutputStream out = new FileOutputStream(path); document.writeTo(out); rtnValue = path; }catch(Exception e){ String err = e.toString(); } }
AndroidでPDFを作成するにはPdfDocument(android.graphics.pdf.PdfDocument)を使用します。
まず最初にPdfDocument.PageInfoでPDFのページの大きさを定義し、PdfDocumentのstartPageメソッドの引数として設定し、PdfDocument.Pageを取得します。
その後、PdfDocument.Pageに書き込む為のCanvasを取得し、そのCanvasにBitmapを書き込みます。
最後にPdfDocumentのfinishPageメソッドを実行してPDFの書き込みを終了し、FileOutputStreamでファイルとして出力すれば完成です。
Use PdfDocument(android.graphics.pdf.PdfDocument) for making a PDF on Android.
At first, use PdfDocument.PageInfo and specify the scale of a PDF page, and set it to PdfDocument's startPage method as argument, and get PdfDocument.Page.
And get Canvas for writing PdfDocument.Page and draw Bitmap to this Canvas.
At last, declare PdfDocument's finishPage method in order to finish to write a PDF, and use FileOutputStream and write a PDF data to a file.
[関連記事(Articles)]
[iOS]How to make a PDF from an image
にほんブログ村
クリエイティブライフ ブログランキングへ