我如何使用 android 原生 PdfDocument API 创建横向 PDF?

How can i create landscape PDF using android native PdfDocument API?

我正在使用 PdfDocument API 使用 Android 从视图中编写 PDF

问题

如果我正在写 A4 大小的 PDF。 我怎样才能在横向模式下制作?

提前致谢。

Android PDF API 的典型用法如下所示:

// create a new document
PdfDocument document = new PdfDocument();

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

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

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

// finish the page
document.finishPage(page);
. . .
// add more pages
. . .
// write the document content
document.writeTo(getOutputStream());

// close the document
document.close();

根据 developer.android.com reference:

public PdfDocument.PageInfo.Builder (int pageWidth, int pageHeight, int pageNumber)

Added in API level 19

Creates a new builder with the mandatory page info attributes.

Parameters

pageWidth The page width in PostScript (1/72th of an inch).

pageHeight The page height in PostScript (1/72th of an inch).

pageNumber The page number.

因此,要创建纵向 A4 页面的 PDF,您可以这样定义页面描述:

PageInfo pageInfo = new PageInfo.Builder(595, 842, 1).create();

对于横向 A4 页面的 PDF,您可以这样定义它们:

PageInfo pageInfo = new PageInfo.Builder(842, 595, 1).create();