我们可以使用itext Android以PDF格式绘制PieChart吗?

时间:2017-04-25 10:45:06

标签: android pdf itext

我想在Android中使用itext在我的PDF中添加饼图。 但是与饼图相关的所有示例似乎都使用以下2D类:

import csv
def write_into_csv_file(file_path,array):
    with open(file_path, 'wb') as f:
    writer = csv.writer(f)
    writer.writerows(array)
string = 'sjhdfakjhdfkajhdfakjhdfakjfhaksjfhasdfkjaskjfh'
ls=[]
for n in range(len(string)-16):
    if len(string[n:n+16]) == 16:
    ls.append(string[n:n+16])
    print(string[n:n+16])
else:
    break
write_into_csv_file('hello.csv',ls)

在itext-5的 android版本中实际上是awt类和不可用。 使用2D分类的任何替代方法?

已编辑:我正在使用itextg版本的android。它缺少上面提到的2D类。

2 个答案:

答案 0 :(得分:2)

所以我找到了解决方案。 我使用MPAndroidChart来制作PieChart。 该库有一个从绘制的饼图中获取位图的方法。

pieChart.getChartBitmap();

因此,一旦获得位图,iText将允许您将位图添加到您的pdf中。 最终代码可能如下所示:

 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 Bitmap bitmap = pieChart.getChartBitmap();
 bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
 Image myImg = Image.getInstance(stream.toByteArray());
 myImg.setAlignment(Image.MIDDLE);
 document.add(myImg);

干杯!

答案 1 :(得分:0)

对于Android,您需要使用itextg代替itextpdf

不应使用使用Android上不可用的类的示例。当您找到解决方案时,如果您提交了文档,那就太好了。