Java 将Word转为PDF/Html/图片/XPS/SVG(基于Spire.Cloud.SDK

2021-04-11 05:28

阅读:575

标签:ola   tap   系统   art   webapi   for   key   count   创建文件   

Spire.Cloud.SDK for Java API提供了ConverApi接口支持将Word文档转换为多种文档格式,包括将Word转为PDF、Html、位图Bitmap(JPEG/BMP/ PNG)、矢量图Vectorgraph(支持WMF/SVG)、XPS、PostScript、PCL、dotx、dotm、docm、odt、wordxml、wordml、doc、docx、rtf、epub等等。下面将详细介绍如何来实现转换。

步骤一、导入jar文件

创建Maven项目程序,通过maven仓库下载导入。以IDEA为例,新建Maven项目,在pom.xml文件中配置maven仓库路径,并指定spire.cloud.sdk的依赖,如下:

com.e-icebluecloudhttp://repo.e-iceblue.cn/repository/maven-public/ cloud 
            spire.cloud.sdk
            3.5.0 com.google.code.gson
        gson
        2.8.1 com.squareup.okhttp
            logging-interceptor
            2.7.5 com.squareup.okhttp 
            okhttp
            2.7.5 com.squareup.okio 
            okio
            1.6.0 io.gsonfire
            gson-fire
            1.8.0io.swagger
            swagger-annotations
            1.5.18 org.threeten 
            threetenbp
            1.3.5

完成配置后,点击“Import Changes” 即可导入所有需要的jar文件。如果使用的是Eclipse,可参考这里的导入方法。
导入结果:
技术图片

步骤二、登录冰蓝云账号,创建文件夹,上传文档

技术图片

步骤三、创建应用程序,获取App ID及App Key

技术图片
完成以上步骤后,可参考以下代码示例进行文档转换。

步骤四、代码示例

1. Word转为PDF
将Word转为PDF时,可通过convert()方法直接指定转换的格式为PDF格式,或者通过convertToPdf()方法在转换成PDF时嵌入字体文件到PDF。
1.1 直接通过convert()方法转换,这里转换可支持除PDF格式外,其他多种文件格式

import spire.cloud.word.sdk.client.ApiException;
import spire.cloud.word.sdk.client.Configuration;
import spire.cloud.word.sdk.client.api.ConvertApi;

public class WordToPDF {
    //配置App账号信息
    static String appId = "App ID";
    static String appKey = "App Key";
    static String baseUrl = "https://api.e-iceblue.cn";
    static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
    static ConvertApi convertApi = new ConvertApi(wordConfiguration);

    public static void main(String[] args) throws ApiException {
        String name = "Test.docx";//用于测试的Word源文档
        String format = "pdf";//转换的目标文档格式,具体可包括多种文档格式,如postScript, pcl, dot, dotx, dotm, docm, odt, wordxml, wordml, pdf, doc, docx, rtf, epub, xps, html
        String password = null;//源文档密码
        String folder = "input";//源文档所在文件夹
        String storage = null;//冰蓝云提供的2G免费存储空间
        String destFilePath = "output/convertWordToPDF.pdf";//转换后的结果文档路径(这里保存在output文件夹下)

        //调用方法转换文档格式
        convertApi.convert(name, format, destFilePath, password, folder, storage);
    }
}

1.2 转换时,嵌入字体文件

import spire.cloud.word.sdk.client.*;
import spire.cloud.word.sdk.client.api.ConvertApi;
import spire.cloud.word.sdk.client.model.PrivateFont;

import java.util.ArrayList;
import java.util.List;

public class WordToPDF {
    //配置App账号信息
    static String appId = "App ID";
    static String appKey = "APP Key";
    static String baseUrl = "https://api.e-iceblue.cn";
    static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
    static ConvertApi convertApi = new ConvertApi(wordConfiguration);

    public static void main(String[] args) throws ApiException{
        String name = "Test.docx";//用于测试的Word源文档
        String password = null;//源文档密码
        String folder = "input";//源文档所在文件夹
        String storage = null;//冰蓝云提供的2G免费存储空间
        String destFilePath = "output/convertWordToPdf.pdf";//转换后的结果文档路径(这里保存在output文件夹下)

        //当系统上没有安装Word文档中使用的字体时,可以通过加载字体文件将字体添加到pdf文档中,以便绘制文本
        List privateFonts = new ArrayList();
        privateFonts.add(new PrivateFont("华文中宋", "input/STZHONGS.ttf"));
        privateFonts.add(new PrivateFont("consola", "input/consola.ttf"));

        //调用方法将Word转为PDF
        convertApi.convertToPdf(name, destFilePath, password, folder, storage, privateFonts);
    }
}

2. Word转Html
这里转为Html同样也可以通过1.1里面的转换方法,或者通过convertToHtml()方法来转换

import spire.cloud.word.sdk.client.ApiException;
import spire.cloud.word.sdk.client.Configuration;
import spire.cloud.word.sdk.client.api.ConvertApi;

public class WordToHtml {
    //配置App账号信息
    static String appId = "App ID";
    static String appKey = "App Key";
    static String baseUrl = "https://api.e-iceblue.cn";
    static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
    static ConvertApi convertApi = new ConvertApi(wordConfiguration);

    public static void main(String[] args) throws ApiException{
        String name = "Test.docx";//用于测试的Word源文档
        String password = null;//源文档密码
        String folder = "input";//源文档所在文件夹
        String storage = null;//冰蓝云提供的2G免费存储空间
        String destFolder = "output/convertWordToHtml.html";//结果文档路径

        //调用方法将Word转为HTML
        convertApi.convertToHtml(name, destFolder, password, folder, storage);
    }
}

3. Word转图片
转为图片时,支持将Word转为位图convertToBitmap()、矢量图convertToVectorgraph()

import spire.cloud.word.sdk.client.ApiException;
import spire.cloud.word.sdk.client.Configuration;
import spire.cloud.word.sdk.client.api.ConvertApi;

public class WordToImage {
    //配置App账号信息
    static String appId = "App ID";
    static String appKey = "App Key";
    static String baseUrl = "https://api.e-iceblue.cn";
    static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
    static ConvertApi convertApi = new ConvertApi(wordConfiguration);

    public static void main(String[] args) throws ApiException {
        String name = "Test.docx";//用于测试的Word源文档
        String imageFormat = "png";//指定转换后的目标文档格式,支持jpeg, bmp, png
        String password = null;//源文档密码
        String folder = "input";//源文档所在文件夹
        String storage = null;//冰蓝云提供的2G免费存储空间
        Integer startPage = null;
        Integer pageCount = null;
        String destFolder = "output/ConvertWordToImage.png";//转换后的文档路径

        //调用方法转为位图
        convertApi.convertToBitmap(name, imageFormat, destFolder, password, folder, storage, startPage, pageCount);

        /*String name = "Test.docx";//Word源文档
        String imageType = "svg";//指定转换后的目标文档格式,支持wmf, svg
        String password = null;//源文档密码
        String folder = "input";//源文档所在文件夹
        String storage = null;
        Integer startPage = null;
        Integer pageCount = null;
        String destFolder = "output/ConvertWordToVectorgraph.svg";//转换后的结果文档路径

        //调用方法转为矢量图
        convertApi.convertToVectorgraph(name, imageType, destFolder, password, folder, storage, startPage, pageCount);*/
    }
}

所有转换后的结果文档可在冰蓝云“文档管理”下的output文件夹中查看。具体可参照步骤二的内容。

(完)

Java 将Word转为PDF/Html/图片/XPS/SVG(基于Spire.Cloud.SDK

标签:ola   tap   系统   art   webapi   for   key   count   创建文件   

原文地址:https://blog.51cto.com/eiceblue/2512562


评论


亲,登录后才可以留言!