Aspose.Java实现word转pdf,添加水印等操作
生活随笔
收集整理的這篇文章主要介紹了
Aspose.Java实现word转pdf,添加水印等操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Aspose.Java實現(xiàn)word轉(zhuǎn)pdf,添加水印等操作
- 一. word轉(zhuǎn)pdf
- 二. 文檔插入水印
Aspose是一款商用版控件,支持各類文檔操作,這里主要介紹如何在Springboot項目中使用破解版。
一. word轉(zhuǎn)pdf
存放位置如圖所示
4. 建立getLicense()方法
二. 文檔插入水印
插入水印的方法與上面大致相同,下面給出插入水印具體代碼
/*** 為word文檔添加水印* @param doc word文檔模型* @param watermarkText 需要添加的水印字段* @throws Exception*/public static void insertWatermarkText(Document doc, String watermarkText) throws Exception {Shape watermark = new Shape(doc, ShapeType.TEXT_PLAIN_TEXT);//水印內(nèi)容watermark.getTextPath().setText(watermarkText);//水印字體watermark.getTextPath().setFontFamily("宋體");//水印寬度watermark.setWidth(100);//水印高度watermark.setHeight(20);//旋轉(zhuǎn)水印watermark.setRotation(-40);//水印顏色 淺灰色watermark.getFill().setColor(Color.lightGray);watermark.setStrokeColor(Color.lightGray);//設(shè)置相對水平位置watermark.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE);//設(shè)置相對垂直位置watermark.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE);//設(shè)置包裝類型watermark.setWrapType(WrapType.NONE);//設(shè)置垂直對齊watermark.setVerticalAlignment(VerticalAlignment.CENTER);//設(shè)置文本水平對齊方式watermark.setHorizontalAlignment(HorizontalAlignment.CENTER);Paragraph watermarkPara = new Paragraph(doc);watermarkPara.appendChild(watermark);for (Section sect : doc.getSections()){insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_PRIMARY);insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_FIRST);insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_EVEN);}System.out.println("Watermark Set");}/*** 在頁眉中插入水印* @param watermarkPara* @param sect* @param headerType* @throws Exception*/private static void insertWatermarkIntoHeader(Paragraph watermarkPara, Section sect, int headerType) throws Exception{HeaderFooter header = sect.getHeadersFooters().getByHeaderFooterType(headerType);if (header == null){header = new HeaderFooter(sect.getDocument(), headerType);sect.getHeadersFooters().add(header);}header.appendChild(watermarkPara.deepClone(true));}/*** 設(shè)置水印屬性* @param doc* @param wmText* @param left* @param top* @return* @throws Exception*/public static Shape ShapeMore(Document doc, String wmText, double left, double top)throws Exception{ // Shape waterShape = new Shape(doc, ShapeType.TEXT_PLAIN_TEXT);Shape waterShape = new Shape(doc, ShapeType.IMAGE);waterShape.getImageData().setImage(wmText);waterShape.setWidth(100.0);waterShape.setHeight(100.0);waterShape.setRotation(0);waterShape.setFilled(true); // //水印內(nèi)容 // waterShape.getTextPath().setText(wmText); // //水印字體 // waterShape.getTextPath().setFontFamily("宋體"); // //水印寬度 // waterShape.setWidth(40); // //水印高度 // waterShape.setHeight(13); // //旋轉(zhuǎn)水印 // waterShape.setRotation(-40);//水印顏色 淺灰色/*waterShape.getFill().setColor(Color.lightGray);waterShape.setStrokeColor(Color.lightGray);*/waterShape.setStrokeColor(new Color(210,210,210));//將水印放置在頁面中心waterShape.setLeft(left);waterShape.setTop(top);//設(shè)置包裝類型waterShape.setWrapType(WrapType.NONE);return waterShape;}/*** 插入多個水印* @param mdoc* @param wmText* @throws Exception*/public static void WaterMarkMore(Document mdoc, String wmText)throws Exception{Paragraph watermarkPara = new Paragraph(mdoc); // for (int j = 0; j < 500; j = j + 100) // { // for (int i = 0; i < 700; i = i + 85) // { // Shape waterShape = ShapeMore(mdoc, wmText, j, i); // watermarkPara.appendChild(waterShape); // } // }Shape waterShape = ShapeMore(mdoc, wmText, 155, 300);watermarkPara.appendChild(waterShape);for (Section sect : mdoc.getSections()){insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_PRIMARY);insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_FIRST);insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_EVEN);}}總結(jié)
以上是生活随笔為你收集整理的Aspose.Java实现word转pdf,添加水印等操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。