📜  创建 Word 文档的Java程序

📅  最后修改于: 2022-05-13 01:55:05.651000             🧑  作者: Mango

创建 Word 文档的Java程序

在Java应用程序协议接口的帮助下,应该在没有 Word 的情况下创建 Word 文件。

涉及的概念: Apache POI 和 Maven

Apache POI 是 Apache 基金会提供的 API,它是不同Java库的集合。该工具使库可以读取、写入和操作不同的 Microsoft 文件,例如 Excel 工作表、PowerPoint 和 Word 文件。基本上有两种类型的旧版本,包括“.doc”、“.ppt”,而较新版本的文件为“.docx”、“.pptx”。有两种方法可以处理 Apache POI,如下所述:

Binary Distribution Source Distribution 
No compilation is required to generate file.jar files Files to generated needs to be compiled in order to generate file.jar files 
If working with Linux go for the ‘.tar.gz’ version (version 3.5 backward) otherwise simply download the .zip. the file extension for installation to work on Apache POI. Here format doe not matter because file is not compiled so can be altered as per need 

这里考虑了 zip 文件,如果操作系统是 Windows,则应首选 zip 文件。这是一个简单的Java项目,因此使用了二进制分发 API。在创建文档的过程中,将插入几个段落作为示例以显示输出,并将为段落提供样式,例如字体颜色、字体名称和字体大小。

现在为了在不使用 Microsoft Word 的情况下创建 Word 文件,有一个名为 Spire 的Java界面,如果需要在不使用 Adobe Acrobat 的情况下创建 PDF 文档,则可以使用称为“E”的界面来完成-冰蓝'。这里必须根据问题陈述导入“Spire.doc”,因为所有交易都是文字格式。

尖顶 Doc for Java是一个专业的Java Word API,它使Java应用程序能够在不使用 Microsoft Office 的情况下创建、转换、操作和打印 Word 文档。它将被导入作为该程序的参考作为参考。

语法:用于在 Spire 的Java中导入库

import Spire.Doc.jar ;

Spire 涉及的组件如下:

ComponentResponsibility
XML Word Processor Format (XWPF)Reading and writing in ‘docx’ extensions files of MS-Word
Horrible Word Processor Format (HWPF)Reading and writing in ‘doc’ extensions files of MS-Word 

此外,还有另一种用于 PDF 格式的Java API,如上面讨论的“E-Ice Blue” ,它使开发人员能够在Java应用程序中读取、编写、转换和打印 PDF 文档,而无需使用 Adobe Acrobat。同样,PowerPoint API 允许开发人员在Java应用程序中创建、读取、编辑、转换和打印 PowerPoint 文件。

现在,就像任何类 Apache POI 都包含要处理的类和方法。下面将讨论 Apache POI 的主要组件,以了解文件的内部工作,以及如何在类和方法的帮助下在没有 Word 的情况下生成文件。 Word 本身基本上有两个版本的文件。

Older files extensionsNewer file extension (Version 3.5)
docdocx 
xlsxlsx
pptpptx

马文

这些文件是使用 Maven 访问的。 Maven 是一个强大的项目管理工具,它基于 POM(项目对象模型)。它用于构建、依赖和文档的项目。它像 ANT 一样简化了构建过程。但是它比ANT先进太多了。
简而言之,我们可以说 maven 是一个可用于构建和管理任何基于 Java 的项目的工具。 Maven 使Java开发人员的日常工作更轻松,并且通常有助于理解任何基于 Java 的项目。

Maven 确实有一些特定的命令来处理文件。最常用的是:

poi + poi + scratchpadpoi    // In order to deal with older Word file versions 
poi + poi-ooxml              // In order to deal with new Word file versions

实现:下面的程序描述了 Spire API 在创建 Word 文件时的职责:

Java
// Java program to create a Word document
// Importing Spire Word libraries
  
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.BuiltinStyle;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;
  
class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // create a Word document
        Document document = new Document();
  
        // Add a section
        Section section = document.addSection();
  
        // Add a heading
        Paragraph heading = section.addParagraph();
        heading.appendText("Java");
  
        // Add a subheading
        Paragraph subheading_1 = section.addParagraph();
        subheading_1.appendText("What's Java");
  
        // Adding sub-headings
        // two paragraph under the first subheading
  
        // Adding paragraph 1
        Paragraph para_1 = section.addParagraph();
        para_1.appendText(
            "Java is a general purpose, high-level programming language developed by Sun Microsystems."
            + " The Java programming language was developed by a small team of engineers, "
            + "known as the Green Team, who initiated the language in 1991.");
  
        // Adding paragraph 2
        Paragraph para_2 = section.addParagraph();
        para_2.appendText(
            "Originally called OAK, the Java language was designed for handheld devices and set-top boxes. "
            + "Oak was unsuccessful and in 1995 Sun changed the name to Java and modified the language to take "
            + "advantage of the burgeoning World Wide Web. ");
  
        // Adding another subheading
        Paragraph subheading_2 = section.addParagraph();
        subheading_2.appendText("Java Today");
  
        // Adding one paragraph under the second subheading
        Paragraph para_3 = section.addParagraph();
        para_3.appendText(
            "Today the Java platform is a commonly used foundation for developing and delivering content "
            + "on the web. According to Oracle, there are more than 9 million Java developers worldwide and more "
            + "than 3 billion mobile phones run Java.");
  
        // Apply built-in style to heading and subheadings
        // so that it is easily distinguishable
        heading.applyStyle(BuiltinStyle.Title);
        subheading_1.applyStyle(BuiltinStyle.Heading_3);
        subheading_2.applyStyle(BuiltinStyle.Heading_3);
  
        // Customize a paragraph style
        ParagraphStyle style = new ParagraphStyle(document);
  
        // Paragraph name
        style.setName("paraStyle");
        // Paragraph format
        style.getCharacterFormat().setFontName("Arial");
        // Paragraph font size
        style.getCharacterFormat().setFontSize(11f);
        // Adding styles using inbuilt method
        document.getStyles().add(style);
  
        // Apply the style to other paragraphs
        para_1.applyStyle("paraStyle");
        para_2.applyStyle("paraStyle");
        para_3.applyStyle("paraStyle");
  
        // Iteration for white spaces
        for (int i = 0;
             i < section.getParagraphs().getCount(); i++) {
  
            // Automatically add whitespaces
            // to every paragraph in the gile
            section.getParagraphs()
                .get(i)
                .getFormat()
                .setAfterAutoSpacing(true);
        }
  
        // Save the document
        document.saveToFile(
            "output/CreateAWordDocument.docx",
            FileFormat.Docx);
    }
}


输出: