[英]Android API PdfDocument not writing data in file using writeTo(outputStream)
[英]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.