Aspose操作World与PDF

aspose-words官网API:https://reference.aspose.com/words/zh/java/com.aspose.words/

com.aspose.words

pom依赖

<!-- 依赖包版本 -->
<dependency>
   <groupId>com.aspose</groupId>
   <artifactId>aspose-words</artifactId>
   <version>19.5</version>
   <classifier>jdk17</classifier>
</dependency>

com.aspose.words 包提供了无需使用 Microsoft Word 即可生成、转换、修改、呈现和打印 Microsoft Word 文档的类。

命名空间中的主要类是:

  • Document是表示 Microsoft Word 文档的对象模型的主要类。
  • DocumentBuilder提供了一种将内容和格式插入文档的简单方法。
  • Node是文档中所有节点的基类。
  • CompositeNode是可以包含其他节点的文档的所有节点的基类,例如Paragraph, Section和Table和 。

DocumentBuilder

DocumentBuilder 用于在文档中构建和编辑内容。它提供了一系列方法和属性,能够创建和修改各种元素,如段落、表格、标题、水印等。

  • 插入文本:使用 insertText 方法在当前位置插入文本。
  • 插入换行符和段落:使用 insertBreak 和insertParagraph 方法插入换行符和段落。
  • 创建表格:使用 startTable、insertCell 和 endTable方法创建和填充表格。
  • 处理样式:使用 getParagraphFormat 和 getFont 方法获取和设置段落和字体样式。

RUN

Run 是一个表示 Word 文档中文本的最小单元的对象。一个 Run 对象代表一个文本范围,其具有相同的格式和样式。

 	public static void watermark(String inputPath, String outPath, String fileName) throws Exception {
        int num = 1;
        Document doc = new Document(inputPath);
        DocumentBuilder builder = new DocumentBuilder(doc);
        NodeCollection runs = doc.getChildNodes(NodeType.RUN, true);
        for (Run run : (Iterable<Run>) runs) {
            String text = run.getText();
            System.out.println(num + "-文本内容: " + text);
            num++;
        }
    }

在这里插入图片描述

添加水印示例

	/**
     * World转PDF时添加水印
     * @param inputPath: 文档路径,"D:\\记录.docx"
     * @param outPath: 保存路径,"D:"
     * @param fileName:文件名称,示例文档
     * */
    public static void waterMark(String inputPath, String outPath, String fileName) throws Exception {
        Document doc = new Document(inputPath);
        DocumentBuilder builder = new DocumentBuilder(doc); //创建构建和编辑文本对象

        Shape watermark = new Shape(doc, ShapeType.TEXT_PLAIN_TEXT);    //创建水印节点元素(TEXT_PLAIN_TEXT)
        watermark.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE);   //参照页面位置水平
        watermark.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE);   //参照页面位置垂直
        watermark.setWidth(300);    //宽度
        watermark.setHeight(100);   //长度
        watermark.setHorizontalAlignment(HorizontalAlignment.CENTER);   //水平居中
        watermark.setVerticalAlignment(VerticalAlignment.CENTER);   //垂直居中
        watermark.setRotation(-40); //逆时针旋转40度

        watermark.getFill().setColor(new Color(220, 220, 220)); //设置字体填充颜色
        watermark.setStrokeColor(new Color(35, 56, 132, 35)); //设置字体边框颜色
        watermark.getTextPath().setText("Watermark Text");  //水印内容
        watermark.getTextPath().setFontFamily("Arial"); //字体类型
        watermark.setBehindText(true);  //设置水印置于文本的下层

        builder.moveToHeaderFooter(HeaderFooterType.HEADER_PRIMARY);    //移到到页眉位置
        builder.insertNode(watermark);  //插入水印节点

        // 保存为PDF文档
        doc.save(outPath + "\\" + fileName + ".pdf");   //保存为pdf
    }

World文件追加

/**
     * word文件追加
     *
     * @param sourceDoc:文档全路径地址,D:\原文档.docx
     * @param appendDoc:追加的文档全路径,D:\追加文档.docx
     * @param savePath:保存的路径,D:
     * */
    public static void appendDocuments(String sourceDoc, String appendDoc, String savePath) throws Exception {
        Document sourceDocument = new Document(sourceDoc);
        Document appendDocument = new Document(appendDoc);
        sourceDocument.appendDocument(appendDocument, ImportFormatMode.KEEP_DIFFERENT_STYLES);
        sourceDocument.save(savePath + "\\" + "appendDocument.docx");
    }

com.aspose.pdf

包含了 Aspose.PDF 提供的各种类和方法,用于操作 PDF 文件的创建、编辑、转换等功能。

pom依赖

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>18.9</version>
</dependency>

PDF转World

	/**
     * pdf转为docx
     *
     * @param inputPath:         文档路径,"D:\\记录.docx"
     * @param outPath:           保存路径,"D:\\"
     * @param fileName:文件名称,示例文档
     */
    public static void savingToDOCX(String inputPath, String outPath, String fileName) throws Exception {
        // 设置Aspose.PDF的许可证
        License license = new License();
        license.setLicense("src/main/resources/license.xml");
        // 加载源PDF文件
        Document doc = new Document(inputPath);
        // 实例化文档SaveOptions实例
        DocSaveOptions saveOptions = new DocSaveOptions();
        // 将输出文件格式设置为DOCX
        saveOptions.setFormat(DocSaveOptions.DocFormat.DocX);
        // Save resultant DOCX file
        doc.save(outPath + fileName + ".docx", saveOptions);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值