相关疑难解决方法(0)

使用 PdfDocument 在 android 中生成自定义大小的 PDF

PdfDocument是一个可以从 Android 视图生成 PDF 的类。您只需添加一个视图PdfDocument,然后将 PDF 保存到内存中。

但是,我不想添加已在屏幕中呈现的视图,因为此类视图仅适用于智能手机屏幕,并且我想为打印机生成 PDF 文档。

因此,我想在不渲染的情况下传递一个视图。虽然我当然可以这样做,但尺寸和比例将如何决定?如何在我的 PDF 中控制它?

更新:

按照下面来自clotodex的答案,我做了:

    LayoutInflater inflater = getLayoutInflater();
    View linearview;
    linearview = inflater.inflate(R.layout.printed_order,
                                  findViewById(android.R.id.content),
                                  false);

    PdfDocument document = new PdfDocument();
    PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(2480, 3508, 0).create();
    PdfDocument.Page page = document.startPage(pageInfo);

    linearview.draw(page.getCanvas());
    document.finishPage(page);

    OutputStream outStream;
    File file = new File(getExternalFilesDir(null), "pedido.PDF");

    try {
        outStream = new FileOutputStream(file);
        document.writeTo(outStream);
        document.close();
        outStream.flush();
        outStream.close();
Run Code Online (Sandbox Code Playgroud)

但我得到一个空的 PDF。如果我做

View view = findViewById(android.R.id.content);
view.draw(page.getCanvas());
Run Code Online (Sandbox Code Playgroud)

代替

linearview.draw(page.getCanvas()); 
Run Code Online (Sandbox Code Playgroud)

我得到了我正在进行的活动,这证实了一切都是正确的,除了我试图打印的视图。

java pdf android

5
推荐指数
1
解决办法
681
查看次数

来自View的位图未在Android上显示

我试图从一个尚未显示的视图创建一个位图,将其设置为Android中的OpenGL纹理.问题是,当我创建我的位图时,我的View的布局参数有0值,因为尚未调用onLayout()函数.有没有办法"模拟"布局或做一个"背景布局"来获得正确的布局参数?我正在考虑具有两个视图的Frame布局,背景一个用于创建我的位图,因为布局已经完成.

谢谢.

layout android bitmap

4
推荐指数
1
解决办法
5136
查看次数

标签 统计

android ×2

bitmap ×1

java ×1

layout ×1

pdf ×1