Aspose.PDF for Java系列1-使用前说明

news2024/10/7 20:36:27

一、关于pdf文件说明

什么是pdf文件?

PDF是Portable Document Format的缩写,用来以电子形式显示文档,不受软件、硬件或者操作系统的影响。
最初是由Adobe开发,是一种基于PostScript格式的通用兼容文件格式,现在已成为交换文档和信息的国际标准。

PDF文档是文本和二进制数据的组合。如果在文本编辑器中打开,可以看到定义文档机构和具体内容的原始对象。

PDF文档的逻辑结构是分层的,用来控制文档的绘制文档的顺序。PDF由四个部分组成:

  • 对象
  • 文件结构
  • 文档结构
  • 内容流

二、DOM API介绍

DOM(Document Object Model)是作为结构化文档面向对象模型的易中表示形式。DOM是W3C(World Wide Web Consortium)的官方标准,与语言和平台无关的结构化文档。

简单地说,DOM是标是文档结构的对象树。Aspose.PDF延用了DOM思想,还是以对象的形式表示PDF文档结构。然而,DOM的各个方面(比如他的元素)是受编程语言语法影响的。DOM的公共接口在其应用程序接口(API)中指定。

三、PDF文档结构

由于PDF文件结构是分层的,Aspose.PDF也以同样的方式访问元素。如下展示了PDF文档的逻辑结构以及Aspose.PDF DOM API如何构造。

在这里插入图片描述

四、访问PDF文档元素

Document对象是整个对象模型的更节点。Aspose.PDF允许你创建Document对象,然后访问层级结构中的所有其他对象。可以访问任何集合(Pages)或者任何单个元素(Page)。DOM API提供单个入口和出口来操作PDF文档,如下所示:

  • 打开PDF文档
  • 以DOM形式访问PDF文档结构
  • 更新PDF文档中的数据
  • 校验PDF文档
  • 导出PDF文档为不同的格式
  • 保存已更新的PDF文档

五、如何使用新的Aspose.PDF for Java API

本章将介绍新的Aspose.PDF for Java API,指导你快速轻松地入门。
请注意,有关特定功能使用的详细信息将不在该章节介绍。

Aspose.PDF for Java由两部分组成:

  • Aspose.PDF for Java DOM API
  • Aspose.PDF.Facades

后续会详细介绍。

六、Aspose.PDF for Java DOM API

新的Aspose.PDF for Java API与PDF文档一一对应,不仅在文件和文档级别,而是在对象级别处理PDF文档帮助到你。提供了更多的灵活性来访问PDF文档的所有元素和对象。使用Aspose.PDF DOM API的类,可以获得对文档元素和格式的编程式访问。新的DOM API由各种各样命名空间组成,如下:

com.aspose.pdf

这个命名空间提供了打开和保存PDF文档的文档。License类也是这个包的一部分。同时也提供了PDF相关的pages, attachments, and bookmarks,像com.aspose.pdf.Page, com.aspose.pdf.PageCollection, com.aspose.pdf.FileSpecification, com.aspose.pdf.EmbeddedFileCollection, com.aspose.pdf.OutlineItemCollection, and com.aspose.pdf.OutlineCollection等。

com.aspose.pdf.text

这个命名空间提供了处理文本以及其他一些类,比如com.aspose.pdf.Font、com.aspose.php、com.ontCollection、com.aspose.pdf.FontRepository、com.aspse.pdf.Fon tStyles、com.aspse.pdf.TextAbsorber、com.aspuse.pdf.text Fragment、,com.aspose.pdf.TextSegment和com.aspose.php TextSegmentCollection等。

com.aspose.pdf.TextOptions

这个命名空间提供了设置用于查找、编辑或者替换文本的不同选项的类,比如com.aspose.pdf.TextEditOptions、com.aspose.pdf.TextReplaceOptions和com.aspose/pdf.TextSearchOptions。

com.aspose.pdf.PdfAction

这个命名空间包含了帮助你处理PDF文档的交互式功能的类,比如处理文档和其他操作。此命名空间包含com.aspose.pdf.GoToAction、com.aspose.php、GoToRemoteAction和com.aspose.pdf、GoToURIAction等类。

com.aspose.pdf.Annotation

Annotations是PDF文档交互功能的一部分,此命名空间包含处理Annotation的类,比如com.aspose.pdf.Annotation、com.aspose.php、AnnotationCollection、com.aspose.pdf.CircleAnnotation和com.aspose.pdf、LinkAnnotation等。

com.aspose.pdf.Form

这个命名空间包含了处理PDF表单和表单字段的类,比如com.aspose.pdf.Form, com.aspose.pdf.Field, com.aspose.pdf.TextBoxField and com.aspose.pdf.OptionCollection等。

com.aspose.pdf.devices

我们可以对PDF文档执行各种操作,例如将PDF文档转换成各种格式的图像格式。但是,此类操作不属于Document对象,不对对此去拓展Document类。因此,新的DOM API单独设置了devices类。

com.aspose.pdf.facades

在Aspose.PDF for Java之前的版本,需要Aspose PDF.Kit for Java来操作现有的PDF文档。要执行旧的Aspose PDF.Kit代码,可以使用此命名空间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/125186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践

本文介绍了利用开源 API 网关 APISIX 加速 NebulaGraph 多个场景的落地最佳实践:负载均衡、暴露接口结构与 TLS Termination。 API 网关介绍 什么是 API 网关 API 网关是位于客户端和服务器之间的“中间人”,用于管理、监控和保护 API。它可以在 API 之…

GAMES101 现代计算机图形学入门

Lecture1 Overview of CG 计算机图形学概述Lecture2 Review of Linear Algebra 向量与线性代数Lecture3 2D Transformation 基础变换(二维)3.1 线性变换 (寻找变换前后直角坐标坐标关系)3.2齐次坐标 Homogeneous Coordinate3.3 仿射变换Affine Transform…

SpringBoot2核心技术(核心功能)- 05、Web开发【5.4 数据响应与内容协商】

4、数据响应与内容协商 1、响应JSON 1.1、jackson.jarResponseBody <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> web场景自动引入了json场景<dependenc…

在黑金zynqmp 上用emmc 启动的那些坑

缘由&#xff1a;由于硬件设计可能存在问题&#xff0c;导致sd 开启动失败&#xff0c;高速的时候&#xff0c;在建立VFS 时就会引起kernel 崩溃&#xff0c;官方的板子就正常&#xff0c;自己的板子第一版硬件可以&#xff0c;第二版就不行 思路&#xff1a;从emmc 启动 替代…

Hadoop 的基础知识

Hadoop 的基础知识1. Hadoop 简介2. Hadoop 的发展简史3. Hadoop 现状4. Hadoop 特性优点5. Hadoop 发行版本6. Hadoop 架构变迁7. Hadoop 集群集体概念1. Hadoop 简介 Hadoop 官网: https://hadoop.apache.org/ Apache Hadoop 软件库是一个框架, 是 Apache 软件基金会的一款开…

IoT 物联网将如何影响 SCADA ?

IoT 物联网将如何影响 SCADA &#xff1f;-钡铼技术 随着工业物联网&#xff08;IIOT&#xff09;或工业4.0的提出&#xff0c;未来工业自动化将是大势所趋&#xff0c;机器设备运行自动化&#xff0c;人不断被机器替代。那么&#xff0c;这些发展方向会对SCADA有什么影响&…

【DevOps:一、开始】

名词安全组类似于防火墙的设置&#xff0c;打开安全组&#xff0c;但要防止被当成矿机&#xff0c;需要设置主机的容器密码VPC专有网络&#xff0c;私有网络&#xff1a;VPC虽然网段相同&#xff1a;但资源物理层隔离&#xff0c;不能使用内网相互通Ipv4网段子网计数器容器平台…

产品设计表现技能的学习要点

在产品设计过程中&#xff0c;当你心中有创意设计时&#xff0c;你需要写下创意设计&#xff0c;并生成一个例子来总结你以前的想法。此时&#xff0c;您需要设计性能。在设计性能的过程中&#xff0c;我们需要使用各种设计工具&#xff0c;这些设计工具的应用技术和方法通常称…

玩以太坊链上项目的必备技能(内联汇编 [inline assembly]-Solidity之旅十八)

概要 大抵是讲到汇编&#xff0c;身为编程开发者的我们脑瓜子早就嗡嗡作响了。看那晦涩难懂的低级汇编代码&#xff0c;敢断言&#xff0c;那一行不是我写的&#xff0c;其他行也不是我写的。 自从C语言问世&#xff0c;而后类C语言犹如雨后春笋般地搅动着IT界&#xff0c;而…

【金猿人物展】实在智能创始人、CEO孙林君:我们为什么坚定在IPA方向努力?...

‍孙林君本文由实在智能创始人、CEO孙林君撰写并投递参与“数据猿年度金猿策划活动——2022大数据产业趋势人物榜单及奖项”评选。‍数据智能产业创新服务媒体——聚焦数智 改变商业充满“不确定性”的2022年即将过去&#xff0c;不确定性带来的不仅是挑战&#xff0c;还有新机…

安装 Azure CL 并生成 service principal 文件

1 安装 1.1 Yum⽅式安装 For Linux distributions with yum such as RHEL, Fedora, or CentOS, theres a package for the Azure CLI. This package has been tested with RHEL 7, Fedora 19 and higher, and CentOS 7. sudo rpm --import https://packages.microsoft.com/k…

【nowcoder】笔试强训Day11

目录 一、选择题 二、编程题 2.1最近公共祖先 2.2求最大连续bit数 一、选择题 1.下面哪个标识符是合法的&#xff1f; A. 9HelloWorld B. _Hello World C. Hello*World D. Hello$World java标识符的命名规则应以字母、下划线、美元符开头&#xff0c;后跟字母、下划线…

python实战案例——采集二手车数据并分析其价值

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 环境使用: Python 3.8 Pycharm 专业版是付费的 <激活码可以免费用> 社区版是免费的 模块使用: 第三方模块 需要安装的 requests >>> pip install requests parsel >>&…

【生成对抗网络】GAN生成对抗网络理论知识

GAN生成对抗网络目录引入GeneratorNetwork as Generator为什么要训练Generator&#xff1a;需要输出是分布引入GANBasic Idea of GAN&#xff1a;区分Unconditional generation 与 Conditional generationUnconditional generationConditional generation引入DiscriminatorGene…

基于Bert-Lstm-Crf的命名实体识别(PyTorch 实现)

1 前言 1-1 简介 命名实体识别(NER)是自然语言处理的基础任务&#xff0c;处于工程性任务的上游&#xff0c;很多的下游任务依赖于命名实体识别的效果&#xff0c;所以命名实体识别也是自然语言处理中非常重要的一环。命名实体识别的任务非常简单&#xff0c;给出一段文本&…

MindSpore模型快速调优攻略笔记分享(上)

• 近年来&#xff0c;深度学习技术在语音识别、自然语言处理、计算机视觉、信息检索等任务上取得了突破性进展; • 深度学习模型的复杂度与规模日益扩张&#xff0c;导致模型的调试调优成为了困扰算法工程师的一大难题; • MindSpore是由华为自研的深度学习框架&#xff0c;…

整理收集python面试常见题目

1.多进程和多线程 1.python多进程和多线程看这一篇就够了_T型人小付的博客-CSDN博客 2.多进程和多线程的实现&#xff1a;一文看懂Python多进程与多线程编程(工作学习面试必读) - 知乎 3.多线程的补充&#xff1a;一文看懂Python多进程与多线程编程(工作学习面试必读) - 知乎…

软件测试面试技巧 这么准备,拿下心仪offer不是问题

拥有一个心仪的offer&#xff0c;是每个软件测试工程师们都梦寐以求的事情&#xff0c;那如何才能通过最后的面试一关&#xff0c;拿到offer呢&#xff1f; 俗话说&#xff0c;知己知彼百战不殆&#xff0c;作为测试员&#xff0c;在面试前对面试官可能提出的问题进行总结和准…

UDS - 14.2.1 RoutineControl (31) service

来自&#xff1a;ISO 14229-1-2020.pdf 目录 14.2.1 服务描述 14.2.1.1 概述 14.2.1.2 通过引用routineIdentifier来启动一个例程 14.2.1.3 通过引用routineIdentifier来停止一个例程 14.2.1.4 通过引用routineIdentifier来请求例程结果 14.2.2请求消息 14.2.2.1请求消…

【从零开始学习深度学习】31. 卷积神经网络之残差网络(ResNet)介绍及其Pytorch实现

和之前介绍的批量归一化层作用类似&#xff0c;残差网络&#xff08;ResNet&#xff09;提出的主要目的也是为了优化深度神经网络中数值稳定性问题。 1. 残差块介绍 假设输入为x\boldsymbol{x}x&#xff0c;希望学出的理想映射为f(x)f(\boldsymbol{x})f(x)。下图左右为普通网…