`

Java 在PDF文档中绘制图形

阅读更多

本篇文档将介绍通过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);       
	}
}

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


 (本文完)

 

  • 大小: 78.4 KB
  • 大小: 15 KB
  • 大小: 59.1 KB
0
0
分享到:
评论

相关推荐

    pdfbox java解析pdf文档jar包+源代码+帮助文档+example

    这个工具包提供了丰富的API,让开发人员可以方便地在Java应用中读取、创建、编辑以及打印PDF文档。本资源包含PDFBox的Java解析PDF文档所需的jar包,源代码,帮助文档以及示例(example),对于学习和使用PDFBox进行...

    Java 在PDF中绘制形状的两种方法

    Java 提供了多种方法来绘制形状和图形在 PDF 文档中,本文将介绍 Java 在 PDF 中绘制形状的两种方法。 第一种方法是使用 Free Spire PDF for Java 库,该库提供了一个强大的 API,允许开发者在 Java 应用程序中创建...

    itextpdf中文帮助文档.pdf

    6. **绘制图形**:介绍使用iTextPDF的绘图API来绘制线条、矩形、圆形等图形。 7. **表格与列表**:说明如何创建和填充表格,以及如何添加无序和有序列表。 8. **链接与动作**:解释如何在PDF中添加超链接,以及...

    java实现PDF文件添加图片

    PDF文件添加图片是Java开发中常见的一项任务,特别是在生成报告、文档或证书等场景下,可能需要将图像插入到PDF中以增强...通过熟练掌握这些步骤和方法,你可以轻松地在PDF文档中插入各种图片,提升PDF的视觉呈现效果。

    java生成pdf文档的总结和相关代码,javagenaratepdf.zip

    在Java编程环境中,生成PDF文档是一项常见的任务,尤其在企业级应用中,如报表生成、合同制作等场景。本文将深入探讨如何使用Java生成PDF文档,并结合提供的代码示例"pdfDemo-master"进行讲解。 首先,Java生成PDF...

    Java 解析 pdf文件用到的jar包

    在Java开发中,处理PDF文件是一项常见的任务,例如读取、写入或修改PDF文档。在这种情况下,我们通常会依赖第三方库来实现这些功能。在本篇中,我们将重点讨论两个关键的Java库:PDFBox和FontBox,以及它们如何帮助...

    java生成PDF

    在Java编程环境中,生成PDF文档是一项常见的需求,无论是用于报告、发票、合同还是其他类型的文档。本篇将深入探讨如何使用Java来创建PDF文件,并基于提供的"java生成PDF"实例代码进行详细讲解。 首先,我们需要...

    java实现pdf的导出

    在Java编程环境中,导出PDF(Portable Document Format)文件是一项常见的任务,特别是在生成报告、文档或发票等场景中。PDF格式因其跨平台性和良好的显示一致性而受到广泛应用。本篇文章将详细探讨如何使用Java来...

    PDFlib8.0 for Java

    PDFlib 8.0 for Java 是一款专门针对Java平台设计的PDF库,它为开发者提供了一种高效且灵活的方式,在Java应用程序中生成、修改或处理PDF文档。这个库的出现,使得开发人员无需深入理解PDF格式的复杂性,就能轻松地...

    java实现pdf预览功能项目汇总,含三个项目

    在Java中实现PDF预览功能,主要是通过第三方库来完成的,因为Java标准库并没有内置的PDF处理功能。本项目汇总包含了三个关于Java实现PDF预览的项目,旨在帮助开发者理解和掌握这一技术。 一、PDF预览的基本原理 ...

    itextpdf.zip(JavaPDF文件生成)

    JavaPDF文件生成是Java开发中一个重要的领域,主要用于创建、编辑和处理PDF文档。iTextPDF是一个流行的开源库,它提供了丰富的API,使得在Java环境中生成高质量的PDF文档变得简单易行。本篇文章将深入探讨如何使用...

    java根据模板导出PDF详细教程(包含统计图)

    本文将深入探讨如何使用Java来根据模板导出包含统计图的PDF文档。主要涉及的技术包括iText库、FreeMarker模板引擎以及可能的数据可视化工具。 首先,iText是一个强大的Java库,专门用于创建和操作PDF文档。它提供了...

    java操作wordpdf图片生成图片水印

    本篇将详细介绍如何使用Java来操作Word和PDF文档,并在其中的图片上生成水印。 首先,我们关注的是Java对Word文档的操作。Apache POI是一个非常流行的Java库,用于读写Microsoft Office格式的文件,包括Word(.docx...

    利用PDFLib生成PDF文档

    在本文中,我们将深入探讨如何使用PDFLib来生成PDF文档,以及这个库的关键特性。 首先,PDFLib提供了多种语言的API,包括C、C++、Java和Python,使得开发者可以选择最适合他们项目的语言进行集成。使用这些API,你...

    在线预览pdf(pdf.js)java示例

    PDF.js将PDF文档解析为一系列的图形对象,然后在HTML5的Canvas元素上绘制这些对象,从而在浏览器中呈现PDF内容。由于这个过程涉及到大量的计算,因此对于大文件或复杂的PDF,可能需要一些时间来加载和渲染。 1. **...

    java实现PDF转word

    2. 图形渲染:SWT提供了Canvas控件,可以用于在内存中绘制图形。在PDF转Word的过程中,PDF中的文字可能需要被转换为图像,以保持原始格式不受影响。这一步通常涉及将PDF页面渲染到Canvas上,然后截取图像。 3. 文本...

    免费PDF控件Spire.PDF

    除了基本的功能比如:绘制多种图形,图片,创建窗体字段,插入页眉页脚,输入数据表,自动对大型表格进行分页外,Spire.PDF for .NET还支持PDF数字签名,将HTML转换成PDF格式,提取PDF文档中的文本信息和图片,存为...

    java代码,给pdf文件加水印

    这是一个开源的Java库,它提供了处理PDF文档的功能,包括读取、创建、编辑等。在项目中,你需要将其依赖添加到构建文件(如Maven的pom.xml或Gradle的build.gradle)中。 接下来,我们分析提供的`WatermarkPDFUtil....

    java操作PDF

    例如,你可以使用`PDDocument.addPage()`方法添加新的页面,或者使用`PDPageContentStream`来写入文本、绘制图形等。 总的来说,Java结合Apache PDFBox库,提供了强大的能力来处理PDF文件,包括但不限于读取元数据...

    手机PDF阅读器java版

    在Java平台上开发PDF阅读器,通常会面临资源限制和兼容性问题,因此需要高效且优化的算法来处理PDF文档。 二、Java版PDF阅读器的关键技术 1. PDF解析:PDF文件包含大量的对象,如字体、图像、页面描述等。Java版PDF...

Global site tag (gtag.js) - Google Analytics