【问题标题】:Android pdf and chart generationAndroid pdf 和图表生成
【发布时间】:2011-06-28 06:24:47
【问题描述】:

我是 Android 开发新手。我想创建一个 Android 应用程序,它将接受用户的输入,生成 饼图,然后以 pdf 格式 导出报告。我正在使用iText(URL) 和afreechart (URL) 分别生成 pdf 和 chart,但我不知道如何转换生成的图表成图像,这样我就可以将该图像插入到 pdf 中。请帮忙。

【问题讨论】:

    标签: android pdf charts itext pdf-generation


    【解决方案1】:

    为什么在将一个完美的 PDF 页面插入另一个 PDF 之前将其转换为图像?

    PdfReader reader = new PdfReader(path);
    //PdfImportedPage inherits from PdfTemplate
    PdfImportedPage page = writer.getImportedPage( reader, 1 );
    
    Image wrappedImage = new ImageTemplate(page);
    // now do whatever you would normally do to position the image where you want it.
    

    这不会对导入的页面进行光栅化。它仍然是线条艺术、文字等等……不管它是从什么开始的。但现在它被包裹在 Image 中,因此您可以方便地使用 iText 布局类定位它。


    好的。我刚刚阅读了 AFreeChart 上的文档。显然你只能在画布上绘图。

    因此,绘制到Canvas,然后调用setBitmap 将其写入位图,并调用Bitmap 的compress 方法将其保存为JPEG 或PNG,您的调用。

    iText 可以很好地处理这些图像格式中的任何一种。您可能可以在 In The Raw 中复制所有像素信息,但您的代码工作量要少得多。

    【讨论】:

    • 谢谢马克的回答,但我的问题有点不同,我生成的图表不是PDF页面。 JFreeChart,(AFreeChart 是 JFreeChart 的 Android 包装器)具有一些内置工具,可以在 Java AWT 的帮助下将生成的图表转换为图像。但是Android不支持AWT。所以我必须在不使用 AWT 的情况下将生成的图表转换为图像。但我不知道该怎么做。请帮忙。
    • 我不确定 adobe 之外的任何人都可以做到这一点。也许是一个类似于 Google Docs 的渲染服务网站?
    • (声明:我是 Image-Charts 的创始人)我可能想看看 image-charts.com(已弃用的 Google Image Charts 服务的替代品)
    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 2019-02-06
    • 1970-01-01
    • 2011-04-27
    • 2016-12-14
    • 2015-05-28
    • 2020-08-30
    • 2016-01-03
    相关资源
    最近更新 更多