本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法。包括绘制矩形、椭圆形、不规则多边形、线条、弧线、曲线、扇形等等。针对方法中提供的思路,也可以自行变换图形设计思路,如菱形、梯形或者组合图形等。

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

}

}

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

(本文完)

java pdf绘图_Java 在PDF文档中绘制图形相关推荐

  1. java 绘制pdf_Java 在PDF文档中绘制图形

    本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法.包括绘制矩形.椭圆形.不规则多边形.线条.弧线.曲线.扇形等等.针对方法中提供的思路,也可以自行变换图形设计思路,如菱形.梯形或者组合图形等 ...

  2. java gui 艺术字_Java 在Word文档中添加艺术字

    与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...

  3. java显示艺术字_Java 在Word文档中添加艺术字的示例

    与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...

  4. 怎么批量删除 Word、PDF、PPT 以及 Excel 文档中的空白页?

    概要:「我的ABC软件工具箱」提供了删除空白页的功能,轻轻松松就可以实现批量删除文档中的空白页.目前支持 Word.PDF.PPT 以及 Excel 等格式文件文件.操作非常的方便,处理也非常高效! ...

  5. java文档打印_java 如何读取文档中的内容 并打印

    java 如何读取文档中的内容 并打印 关注:230  答案:2  信息版本:手机版 电脑版 解决时间 2021-01-25 16:31 提问者非莪莫属 2021-01-25 04:31 java 如 ...

  6. java设置标签艺术字体颜色_Java 在Word文档中添加艺术字

    与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...

  7. java 艺术字_Java 在Word文档中添加艺术字的示例

    与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...

  8. 【java文本处理】删除txt文档中的空白行

    01. 目的 用java编程实现删除txt文档中的空白行,代替手动删除,减少不必要的工作.将修改的内容存入新的文档,在修改完成后自动打开,便于查看确认对比. 02. 主要方法 BufferReader ...

  9. python环绕文字_Java 设置 Word 文档中图片文字环绕方式

    Java 设置 Word 文档中图片文字环绕方式 在Word文档中插入图片时,选择合理的图片文字环绕方式可以使图片的展示效果更好,也能使页面的排版更加美观.本文就将介绍如何使用Free Spire.D ...

  10. Java将图片放入word文档中

    1.引入依赖包(maven项目) <!-- https://mvnrepository.com/artifact/itext/itext --><!--将照片写入word文档中的依赖 ...

最新文章

  1. 九坤投资投身基础科研,携手IDEA成立联合实验室
  2. Redis相比memcached
  3. Java Servlet监听器的分类
  4. SAP Spartacus 基于行项目的订单取消功能(order cancel)实现
  5. Fiddler 学习笔记
  6. android t类型参数,数据绑定Android – 类型参数T具有不兼容的上限:ViewDataBinding和MainActivity...
  7. mysql 密码文件改成密文_数据库密码弄成密文
  8. 2010伊始就这么忙
  9. idea springmvc项目搭建_IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境
  10. 传奇人物称号设置详细步骤
  11. 读取QQ ClientKey C++版本
  12. 挺有意思的文章。。。
  13. 红轴和茶轴哪个声音大 红轴和茶轴哪个适合打字
  14. android模拟器 对比,安卓模拟器多开用哪个模拟器好?实测数据对比哪个好用
  15. CES2014盘点:九大穿戴式设备
  16. 经济师考了有什么用?
  17. Nginx 配置中nginx和alias的区别分析
  18. Java后端根据身份证号获取年龄
  19. QQ玩一玩获取PUIN
  20. 数据分析 第七讲 pandas练习 数据的合并、分组聚合、时间序列、pandas绘图

热门文章

  1. 服务器安全-使用ipset 和iptables禁止国外IP访问
  2. Redis入门整合springboot
  3. UE4有linux版本吗,ue4软件下载 rhinos软件 ue4
  4. UE4_下载源码并编译
  5. 总结一下r包手动安装R包 r包安装r语言从网页下载东西内容 r安装特定版本的r包 r从网页下载 安装包 指定安装位置r
  6. 多智能体通信:MAGNet用于深度多智能体强化学习的多智能体图网络
  7. MySQL的InnoDB存储引擎
  8. 动手写简单的音乐推荐系统
  9. PHP新闻管理系统(包括前台后台)
  10. XILINX FPGA数字信号处理——4、CORDIC算法原理及实现