簡體   English   中英

使用Android PdfDocument API編寫PDF文件

[英]Writing PDF File using Android PdfDocument API

我正在使用以下代碼使用Android PDFDocument API( https://developer.android.com/reference/android/graphics/pdf/PdfDocument.html )從View編寫PDF。

    /**
     * Writes given PDFDocument using content view.
     *
     * @param pdfDocument PDFDocument to be written.
     */
    private void writePDFDocument(final PdfDocument pdfDocument) {

        // crate a page description
        PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(PDF_PAGE_WIDTH, PDF_PAGE_HEIGHT, 1).create();

        // start a page
        PdfDocument.Page page = pdfDocument.startPage(pageInfo);

        // draw view on the page
        int measureWidth = View.MeasureSpec.makeMeasureSpec(page.getCanvas().getWidth(), View.MeasureSpec.EXACTLY);
        int measuredHeight = View.MeasureSpec.makeMeasureSpec(page.getCanvas().getHeight(), View.MeasureSpec.EXACTLY);
        contentView.measure(measureWidth, measuredHeight);
        contentView.layout(0, 0, page.getCanvas().getWidth(), page.getCanvas().getHeight());
        contentView.draw(page.getCanvas());

        // finish the page
        pdfDocument.finishPage(page);
    }



問題
如果正在編寫A4大小的PDF。

因此,如果我的視圖大小大於PDF大小,則如何自動將其寫入第二頁,現在,如果視圖大小大於pdf頁面大小,這些視圖將被截斷。

提前致謝。

我認為您在這里有兩個選擇。 一種是縮放環境以使視圖適合一頁。 另一種是手動“平鋪”或“分頁”視圖。 您將需要計算所需的頁面數,然后在頁面之間轉換畫布

contentView.draw(page.getCanvas());
pdfDocument.finishPage(page);
page.getCanvas().translate(595,842);
page = document.startPage(pageInfo);
contentView.draw(page.getCanvas());
//etc.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM