欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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)

Java 在PDF文档中绘制图形

步骤2复制文件后,将两个添加引用到程序:选中这两个jar文件,点击鼠标右键,选择“build path” – “add to build path”。完成引用。

 Java 在PDF文档中绘制图形

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);       
    }
}

完成代码后,运行程序,生成文档。(如下图)

 Java 在PDF文档中绘制图形

(本文完)

转载请注明出处!!