Java 在PDF文档中绘制图形
程序员文章站
2022-12-05 12:57:25
本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法。包括绘制矩形、椭圆形、不规则多边形、线条、弧线、曲线、扇形等等。针对方法中提供的思路,也可以自行变换图形设计思路,如菱形、梯形或者组合图形等。 使用工具:Free Spire.PDF for Java(免费版) Jar文件导入: 步骤1:将 ......
本篇文档将介绍通过java编程在pdf文档中绘制图形的方法。包括绘制矩形、椭圆形、不规则多边形、线条、弧线、曲线、扇形等等。针对方法中提供的思路,也可以自行变换图形设计思路,如菱形、梯形或者组合图形等。
使用工具:free spire.pdf for java(免费版)
jar文件导入:
步骤1:将安装包中lib文件夹下的两个文件复制到程序中新建的文件夹中(这里在程序中可新建一个文件夹并命名为lib)
步骤2:复制文件后,将两个添加引用到程序:选中这两个jar文件,点击鼠标右键,选择“build path” – “add to build path”。完成引用。
java代码示例(供参考)
import java.awt.color; import java.awt.point; import java.awt.geom.rectangle2d; import com.spire.pdf.fileformat; import com.spire.pdf.pdfdocument; import com.spire.pdf.pdfpagebase; import com.spire.pdf.graphics.*; public class drawshapes { public static void main(string[] args) { //创建pdfdocument对象 pdfdocument doc = new pdfdocument(); //添加一页 pdfpagebase page = doc.getpages().add(); //创建画笔、画刷 pdfpen pen =new pdfpen(new pdfrgbcolor(color.black),0.3); pdfbrush brush= pdfbrushes.getgreenyellow(); //绘制矩形 rectangle2d.float rect1 = new rectangle2d.float(0, 20, 120, 50);//创建rectangle2d对象,并指定图形在pdf页面中的大小、位置 pdflineargradientbrush lineargradientbrush = new pdflineargradientbrush(rect1,new pdfrgbcolor(color.pink),new pdfrgbcolor(color.yellow),pdflineargradientmode.horizontal);//填充图形颜色 page.getcanvas().drawrectangle(lineargradientbrush, rect1);//绘制矩形到页面 //绘制椭圆 point centerstart= new point(205,45); point centerend= new point(205,45); pdfradialgradientbrush radialgradientbrush = new pdfradialgradientbrush(centerstart,0,centerend,60,new pdfrgbcolor(color.white),new pdfrgbcolor(color.cyan)); rectangle2d.float rect2= new rectangle2d.float(180, 20, 50, 50); page.getcanvas().drawellipse(radialgradientbrush,rect2); //绘制多边形 point p1=new point(290,70); point p2=new point(310,45); point p3=new point(325,60); point p4=new point(340,20); point p5=new point(370,70); point[] points = {p1, p2, p3, p4, p5}; page.getcanvas().drawpolygon(pen,brush, points); //绘制弧形 float startangle = 0; float sweepangle = 270; rectangle2d.float rect3= new rectangle2d.float(0, 110, 50, 50); page.getcanvas().drawarc(pen, rect3, startangle, sweepangle); //绘制扇形 rectangle2d.float rect4= new rectangle2d.float(70, 110, 50, 50); page.getcanvas().drawpie(pen, rect4, startangle, sweepangle); //绘制直线 point pstart=new point(205,110); point pend=new point(205,160); page.getcanvas().drawline(pen, pstart, pend); //绘制贝塞尔曲线 point startpoint = new point(290, 135); point firstcontrolpoint = new point(330, 70); point secondcontrolpoint = new point(330, 200); point endpoint = new point(370, 135); page.getcanvas().drawbezier(pen, startpoint, firstcontrolpoint, secondcontrolpoint, endpoint); //保存文档 doc.savetofile("drawshapes.pdf",fileformat.pdf); } }
完成代码后,运行程序,生成文档。(如下图)
(本文完)
转载请注明出处!!
上一篇: 晋国如果没有分裂的话 晋国能吊打秦国吗
下一篇: 春天吃甘蔗有什么好处?甘蔗4大食谱