中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java在PDF中繪制形狀的方法有哪些

發布時間:2020-07-11 09:10:16 來源:億速云 閱讀:195 作者:清晨 欄目:開發技術

這篇文章將為大家詳細講解有關Java在PDF中繪制形狀的方法有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在我們編輯PDF文檔的過程中,有時候需要在文檔中添加一些如多邊形、矩形、橢圓形之類的圖形,而Free Spire PDF for Java 則正好可以幫助我們在Java程序中通過代碼在PDF文檔中繪制形狀,以及設置形狀邊線顏色和填充色。

Jar包導入

方法一:下載Free Spire.PDF for Java包并解壓縮,然后將lib文件夾下的Spire.Pdf.jar包作為依賴項導入到Java應用程序中

方法二:直接通過Maven倉庫安裝JAR包,配置pom.xml文件的代碼如下:

<repositories>
  <repository>
    <id>com.e-iceblue</id>
    <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
  </repository>
</repositories>
<dependencies>
  <dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.pdf.free</artifactId>
    <version>2.6.3</version>
  </dependency>
</dependencies>

Java代碼

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class DrawShapes {
  public static void main(String[]args){
    //創建PDF文檔,并添加一頁
    PdfDocument pdf = new PdfDocument();
    PdfPageBase page = pdf.appendPage();

    //創建畫筆、畫刷
    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 pStart1=new Point(205,110);
    Point pEnd1=new Point(205,160);
    page.getCanvas().drawLine(pen, pStart1, pEnd1);
    Point pStart2=new Point(180,135);
    Point pEnd2=new Point(230,135);
    page.getCanvas().drawLine(pen, pStart2, pEnd2);

    //繪制貝塞爾曲線
    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);

    //保存文檔
    pdf.saveToFile("DrawShapes.pdf",FileFormat.PDF);
  }
}

效果圖

Java在PDF中繪制形狀的方法有哪些

關于Java在PDF中繪制形狀的方法有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔波县| 乡城县| 甘德县| 益阳市| 什邡市| 蓝山县| 敦化市| 霍州市| 大化| 广东省| 龙海市| 黄浦区| 攀枝花市| 梁平县| 双鸭山市| 尼玛县| 玛曲县| 府谷县| 神池县| 老河口市| 大石桥市| 嘉定区| 台前县| 济源市| 什邡市| 赤壁市| 齐河县| 南平市| 东乌珠穆沁旗| 乌拉特后旗| 延庆县| 长子县| 沽源县| 平安县| 西峡县| 马山县| 昌图县| 宽城| 扶风县| 大余县| 瓦房店市|