想请问在jfreechart可以用array来画图或存图吗?如可以该如何写程序呢?如果不能那应该如何画重复的饼图在pdf呢?我想画的饼图在pdf是这样的。可以给些代码参考吗?
1条回答 默认 最新
- linpyi 2008-11-10 17:34关注
图片你可以放在一个Image[]数组里面
如何生成image就是jfreechart的事情了
你把jfreechart生成的image对象放在Image数组里面,然后传递给itext包进行生成PDF文件.
下面的代码调试成功,需要iText.jar(主要功能包),iTextAsian.jar(主要是用来输出汉字的亚洲语言包)
里面2张图片,我缩放了20%放在左下方50,450 200,450两个坐标位置,如果你需要多加几个一样的写法
至于生成的PDF位置你可以自己调,代码里面有写坐标位置,你可以具体查看下
[code="java"]
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Image;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfWriter;public class MakePdf1 {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(
"d:/HelloWorld.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
document.add(new Paragraph("Hello World!"));
Image img = Image.getInstance("d:/fruit1.jpg");
img.scalePercent(20);//按尺寸缩小比例
/*50是从左下角开始的横向坐标,450是从左下角开始的纵向坐标*/
img.setAbsolutePosition(50, 450);
cb.addImage(img);Image img1 = Image.getInstance("d:/fruit1.jpg"); img1.setAbsolutePosition(200, 450); img1.scalePercent(20); cb.addImage(img1); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } document.close(); System.out.println("over~"); }
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 AT89C51控制8位八段数码管显示时钟。
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口