java - Android pdf maker 代码错误

标签 java android android-layout pdf bitmap

我正在尝试截取我的 Android Activity (位图)的屏幕截图,然后将其制作成 PDF 文件。我使用了 itextpdf 库。这是我拥有的:

public void onSaveDataClicked(View reportsLayout){
    //take screen shot
    Bitmap screen; View v1 = reportsLayout.getRootView();
    v1.setDrawingCacheEnabled(true);
    screen = Bitmap.createBitmap(v1.getDrawingCache());
    v1.setDrawingCacheEnabled(false);

    try {
        Document  document = new Document();

        PdfWriter.getInstance(document, new FileOutputStream(file));
        document.open();
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        screen.compress(Bitmap.CompressFormat.PNG, 100, stream);
        byte[] byteArray = stream.toByteArray();
        addImage(document,byteArray);
        document.close();
    }
    catch (Exception e){
        e.printStackTrace();
    }

}

    private static void addImage(Document document,byte[] byteArray) {
    Image image = null;
    try {
        image = Image.getInstance(byteArray);
    } catch (BadElementException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    // image.scaleAbsolute(150f, 150f);
    try {
        document.add(image);
    } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

当我尝试运行时出现错误:“图像无法转换为元素”和“找不到符号方法 getInstance(byte[])”

我通过有关如何实现此目的的教程在网上找到了很多代码。我对这种事情有点陌生。任何帮助和想法将不胜感激。

最佳答案

使用 import com.itextpdf.text.Image; 并删除默认的 Android 图像。

关于java - Android pdf maker 代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44453998/

相关文章:

android - 文本末尾的额外换行符

Android - 膨胀 TextView 时出错

android - 如何连接删除按钮以删除 ListView 中的一个项目?

java - 用于更新通知 channel 设置的 Android 通知操作

java - 在 micronaut 中为集成测试配置数据库

java - 将 JSON 数据填充到 ListView

java - 从手机发送ArrayList<> DataItem到穿戴设备

android - 如何使用最新的 R8 Shrinker 版本

android - 单击 URL 会打开默认浏览器

Android - 具有 CHIPS 风格的自定义选项卡布局?