无需依赖Adobe Acrobat,在Java中进行PDF格式转换全新攻略

2023-10-30

将文档从一种格式转换为另一种格式是Spire.PDF的主要功能之一。这种转换只不过是加载和保存操作的组合。因此,使用Spire.PDF可以将文档从任何受支持的加载格式转换为任何受支持的保存格式。

本文整理了包括在Java中以下文件格式的转换指南,希望对您有所帮助:

  • PDF转换为图像以及图像转换为PDF
  • 将PDF转换为PDF / A
  • 将PDF转换Word
  • 将PDF转换为HTML以及HTML转换为PDF
  • 将PDF转换为SVG
  • 将PDF转换为XPS并将XPS转换为PDF
  • 将PDF转换为Excel

>>你可以下载Spire.PDF for Java测试体验。

(篇幅较长,建议收藏阅读)

PDF转换为图像以及图像转换为PDF

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import com.spire.pdf.PdfDocument;
import javax.imageio.ImageIO;

public class toImage {

        public static void main(String[] args) throws IOException {
            //load the sample PDF
            PdfDocument doc = new PdfDocument();
            doc.loadFromFile("Sample.pdf");

            //save every PDF to .png image
            BufferedImage image;
            for (int i = 0; i < doc.getPages().getCount(); i++) { image = doc.saveAsImage(i); File file = new File( String.format("ToImage-img-%d.png", i)); ImageIO.write(image, "PNG", file); } doc.close(); } }

 

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;

public class ImageToPDF {
    public static void main(String[] args){
        //Create a PdfDocument instance
        PdfDocument pdf = new PdfDocument();
        //Add a page
        PdfPageBase page = pdf.getPages().add();

        //Load the image
        PdfImage image = PdfImage.fromFile("Hydrangeas.jpg");

        //Draw the image to the specific rectangular area of the page 
        double widthFitRate = image.getPhysicalDimension().getWidth() / page.getCanvas().getClientSize().getWidth();
        double heightFitRate = image.getPhysicalDimension().getHeight() / page.getCanvas().getClientSize().getHeight();
        double fitRate = Math.max(widthFitRate, heightFitRate);
        double fitWidth = image.getPhysicalDimension().getWidth() / fitRate;
        double fitHeight = image.getPhysicalDimension().getHeight() / fitRate;
        page.getCanvas().drawImage(image, new Rectangle2D.Double(0, 0, fitWidth, fitHeight));

        //Save the resultant document
        pdf.saveToFile("ConvertImageToPDF.pdf");
    }
}

将PDF转换为PDF / A

import com.spire.pdf.PdfConformanceLevel;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfNewDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfMargins;

import java.awt.geom.Dimension2D;

public class PDFToPDFA {
    public static void main(String[] args)
    {
        //Load pdf file
        PdfDocument document = new PdfDocument();
        document.loadFromFile("Sales Report.pdf");

        //Convert to Pdf_A_1_B
        PdfNewDocument newDoc = new PdfNewDocument();
        newDoc.setConformance(PdfConformanceLevel.Pdf_A_1_B);
        for (PdfPageBase page : (Iterable) document.getPages()) {
            Dimension2D size = page.getSize();
            PdfPageBase p = newDoc.getPages().add(size, new PdfMargins(0));
            page.createTemplate().draw(p, 0, 0);
        }

        //Save the file
        newDoc.save("Output.pdf");
        newDoc.close();
    }
}

将PDF转换Word

import com.spire.pdf.*;

public class PdfToDoc {

    public static void main(String[] args) {

        //create a PdfDocument object
        PdfDocument doc = new PdfDocument();

        //load a sample PDF file
        doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Introduction of Spire.PDF for Java.pdf");

        //save as .doc file
        doc.saveToFile("output/ToDoc.doc",FileFormat.DOC);

        //save as. docx file
        doc.saveToFile("output/ToDocx.docx",FileFormat.DOCX);
        doc.close();
    }
}

将PDF转换为HTML以及HTML转换为PDF

import com.spire.pdf.*;

public class PDFConversion {
    public static void main(String[] args) {
        //Load the PDF file
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("New Zealand.pdf");
        //Save to HTML format
        pdf.saveToFile("ToHTML.html", FileFormat.HTML);
    }
}

 

import com.spire.pdf.graphics.PdfMargins;
import com.spire.pdf.htmlconverter.qt.HtmlConverter;
import com.spire.pdf.htmlconverter.qt.Size;

public class HtmltoPDF {
    public static void main(String[] args) {
        //define the HTML link and result PDF 
        String url = "https://www.e-iceblue.com/";
        String fileName = "Result.pdf";
        //Set the plugin path
        String pluginPath = "D:/Qt/plugins_32";
        HtmlConverter.setPluginPath(pluginPath);
        //convert HTML to PDF and set the size of the result PDF page
        HtmlConverter.convert(url, fileName, true, 1000000, new Size(600f, 900f), new PdfMargins(0));
    }
}

将PDF转换为HTML以及HTML转换为PDF

import com.spire.pdf.*;

public class PDFConversion {
    public static void main(String[] args) {
        //Load the PDF file
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("Input.pdf");
        //Save to SVG image
        pdf.saveToFile("ToSVG.svg", FileFormat.SVG);
        pdf.close();
    }
}

将PDF转换为XPS并将XPS转换为PDF

import com.spire.pdf.*;

public class PDFtoXPS {
    public static void main(String[] args) {
        //Load the PDF file
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("Sample.pdf");
        
       //Save to XPS 
        pdf.saveToFile("ToXPS.xps", FileFormat.XPS);
    }
}

 

import com.spire.pdf.*;

public class PDFtoXPS {
    public static void main(String[] args) {
        //Load XPS 
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromXPS("ToXPS.xps");

        //Save to PDF
        pdf.saveToFile("toPDF.pdf", FileFormat.PDF);
    }
}

将PDF转换为Excel

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;

public class ToXLS {
    public static void main(String[] args) {
        //Create a PdfDocument object
        PdfDocument pdf = new PdfDocument();
        //Load a sample PDF file
        pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
        //Save to Excel
        pdf.saveToFile("output/ToXLS.xlsx", FileFormat.XLSX);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无需依赖Adobe Acrobat,在Java中进行PDF格式转换全新攻略 的相关文章

随机推荐

  • 算法设计与分析复习

    文章目录 算法基本概念 算法的定义 算法好坏如何衡量 时间复杂度 算法评价 递归与分治 递归的概念 递归式解法 什么是分治法 基本策略 分治法适用情况 分治法与平衡的概念 分治法实例 快排 最小元 最大元 最近点对问题 寻找顺序统计量问题
  • 推荐几个Windows iso镜像下载的网站

    文章目录 1 微软官网 2 MSDN网站 3 系统库 xitongku 4 其他网站 最后总结 给大家推荐几个 Windows iso镜像下载网站 1 微软官网 入口地址 https www microsoft com zh cn soft
  • 查看线程的状态信息

    1 调度策略 sched h文件中定义了几种调度策略 Scheduling algorithms define SCHED OTHER 0 非实时调度 分时调度 define SCHED FIFO 1 实时调度 先到先服务 define S
  • 深度学习模型训练全流程!

    关注后 星标 Datawhale 每日干货 每月组队学习 不错过 Datawhale干货 作者 黄星源 奉现 Datawhale优秀学习者 本文从构建数据验证集 模型训练 模型加载和模型调参四个部分对深度学习中模型训练的全流程进行讲解 一个
  • swap

    类的swap include
  • 毕业设计 stm32单片机的智能微波炉设计

    0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求 为了大家能够顺利以及最少的精力通过毕设 学长分享优质毕业设计项
  • 计算机毕设之Java+SpringBoot线上考试自动组卷系统-源码+数据库+文档报告

    注意 该项目只展示部分功能 如需了解 评论区咨询即可 本文目录 1 开发环境 2 系统设计 2 1 设计背景 2 2 设计内容 3 系统页面展示 3 1 前台页面 3 2 后台页面 3 3 功能展示视频 4 更多推荐 5 部分功能代码 5
  • Word文档图标变成空白如何恢复

    WPS和office冲突导致Word和Excel文件图标不见了 如下图所示 doc和 xls是低版本office的文件后缀 docx和 xlsx是高版本office的文件后缀 win r打开命令框输入regedit 找到计算机 HKEY C
  • 欧拉函数(详解)-数论

    欧拉函数 对正整数n 欧拉函数是少于或等于n的数中与n互质的数的数目 例如euler 8 4 因为1 3 5 7均和8互质 Euler函数表达通式 euler x x 1 1 p1 1 1 p2 1 1 p3 1 1 p4 1 1 pn 其
  • STL常见问题

    vector vector中 reserve 函数 预先分配一块较大的指定大小的内存空间 其中n为分配空间的大小 预留一定的空间 如果n lt capacity 并不会减少空间 void reserve size type n if cap
  • Swagger配置使用

    Maven包
  • 管理后台项目-04-SPU列表-增删改SPU-获取SKU【续】

    目录 1 删除spu 2 添加sku 2 1 获取skuForm页面组件的数据 2 2 收集form表单数据 2 3 保存提交数据 3 查看SKU信息和loading效果 上一篇文章管理后台项目 03 SPU列表 增删改SPU 获取SKU
  • Python安装第三方包并导入pycharm或idea项目中

    目录 方法 一 找到python安装路径 二 利用cmd下载第三方包 例如 我现在要在项目中使用numpy这个第三方包 三 找到项目的包路径 四 将下载好的包复制进项目包路径 在python的使用中 我们往往要使用到第三方包 所以怎样下载安
  • 2022 第五届大学生计算机技能应用大赛(python科目初赛题库答案)

    仅供参考学习 侵权可删 1 下列代码运行结果是 1 a map lambda x x 3 1 2 3 2 list a 正确答案 C A 1 6 9 B 1 12 27 C 1 8 27 D 1 6 9 2 在 Python3 中 下列程序
  • SQL注入攻击原理及防护方案

    SQL注入攻击是对web应用程序最常见的攻击之一 它是一种恶意攻击 攻击者在向数据库服务器发送查询请求时 会在查询语句中添加恶意代码 从而对服务器造成损害 SQL注入攻击的目的是破坏服务器的安全性 通过恶意查询访问数据库服务器中的敏感数据
  • 新加坡大学计算机博士专业简介,关于选拔推荐新加坡国立大学计算机学院博士生的紧急通知...

    根据我院与SoC NUS 新加坡国立大学计算机学院 有关协议和对方明年的安排 本学年我院将向对方推荐1名攻读博士学位研究生 现就有关事项通知如下 我院计算机或信息专业12级本科生 具备下列条件者 可提交个人申请 1 本人有志于到对方攻读相关
  • 嵌入式毕设项目 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style border solid width 100px height 1px color 000000 size 1 quot 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到
  • 主对角线打印二维数组---美团点评2016研发工程师编程题(二)

    编程题 二维数组打印 有一个二维数组 n n 写程序实现从右上角到左下角沿主对角线方向打印 给定一个二位数组arr及题目中的参数n 请返回结果数组 测试样例
  • ahut 周赛3

    A gzm判试卷 AhutOj 线段树 注意 一定要开到4 N 不然会RE 单点更新 求区间最值 单点更新不需要懒标记 区间修改是大量的点 需要懒标记 AC代码 include
  • 无需依赖Adobe Acrobat,在Java中进行PDF格式转换全新攻略

    将文档从一种格式转换为另一种格式是Spire PDF的主要功能之一 这种转换只不过是加载和保存操作的组合 因此 使用Spire PDF可以将文档从任何受支持的加载格式转换为任何受支持的保存格式 本文整理了包括在Java中以下文件格式的转换指