本篇內(nèi)容介紹了“怎么用Java在PDF中繪制形狀”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的兗州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在我們編輯PDF文檔的過程中,有時(shí)候需要在文檔中添加一些如多邊形、矩形、橢圓形之類的圖形,而Free Spire PDF for Java 則正好可以幫助我們?cè)贘ava程序中通過代碼在PDF文檔中繪制形狀,以及設(shè)置形狀邊線顏色和填充色。
Jar包導(dǎo)入
方法一:下載Free Spire.PDF for Java包并解壓縮,然后將lib文件夾下的Spire.Pdf.jar包作為依賴項(xiàng)導(dǎo)入到Java應(yīng)用程序中
方法二:直接通過Maven倉(cāng)庫(kù)安裝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){ //創(chuàng)建PDF文檔,并添加一頁(yè) PdfDocument pdf = new PdfDocument(); PdfPageBase page = pdf.appendPage(); //創(chuàng)建畫筆、畫刷 PdfPen pen =new PdfPen(new PdfRGBColor(Color.black),0.3); PdfBrush brush= PdfBrushes.getGreenYellow(); //繪制矩形 Rectangle2D.Float rect1 = new Rectangle2D.Float(0, 20, 120, 50);//創(chuàng)建Rectangle2D對(duì)象,并指定圖形在PDF頁(yè)面中的大小、位置 PdfLinearGradientBrush linearGradientBrush = new PdfLinearGradientBrush(rect1,new PdfRGBColor(Color.pink),new PdfRGBColor(Color.YELLOW),PdfLinearGradientMode.Horizontal);//填充圖形顏色 page.getCanvas().drawRectangle(linearGradientBrush, rect1);//繪制矩形到頁(yè)面 //繪制橢圓 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中繪制形狀”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
文章題目:怎么用Java在PDF中繪制形狀
網(wǎng)站路徑:http://jinyejixie.com/article46/iihheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)