Как создать PDF с верхним и нижним колонтитулом без использования iText в Android? - PullRequest
0 голосов
/ 03 марта 2020

Я искал способ добавить верхний и нижний колонтитулы в PDF без использования библиотеки iText.

Я использую PdfDocument для записи данных в PDF, но не могу найти любой способ управлять верхним и нижним колонтитулом.

Вот пример кода, который я сделал до сих пор

private void createPdf(String sometext) {
    // create a new document
    PdfDocument document = new PdfDocument();
    // crate a page description
    PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(300, 600, 1).create();
    // start a page
    PdfDocument.Page page = document.startPage(pageInfo);
    Canvas canvas = page.getCanvas();
    Paint paint = new Paint();
    paint.setColor(Color.RED);
    canvas.drawCircle(50, 50, 30, paint);
    paint.setColor(Color.BLACK);
    canvas.drawText(sometext, 80, 50, paint);

    document.finishPage(page);
    pageInfo = new PdfDocument.PageInfo.Builder(300, 600, 2).create();
    page = document.startPage(pageInfo);
    canvas = page.getCanvas();
    paint = new Paint();
    paint.setColor(Color.BLUE);
    canvas.drawCircle(100, 100, 100, paint);
    document.finishPage(page);
    // write the document content
    String directoryPath = Environment.getExternalStorageDirectory().getPath() + "/mypdf/";
    File file = new File(directoryPath);
    if (!file.exists()) {
        file.mkdirs();
    }
    String targetPdf = directoryPath + "test.pdf";
    File filePath = new File(targetPdf);
    try {
        document.writeTo(new FileOutputStream(filePath));
        Toast.makeText(this, "Done", Toast.LENGTH_LONG).show();
    } catch (IOException e) {
        Log.e("MainActivity", "error " + e.toString());
        Toast.makeText(this, "Something wrong: " + e.toString(), Toast.LENGTH_LONG).show();
    }
    // close the document
    document.close();
}

Любая помощь будет оценена. Заранее спасибо.

...