当前位置: 首页 > news >正文

android网站开发实例教程站长工具查询seo

android网站开发实例教程,站长工具查询seo,蛋糕店网站源码,苏州市建设局网站简介 Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。 Apache PDFBox提供了创建、渲染、…

简介

Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。

Apache PDFBox提供了创建、渲染、打印、合并、拆分、加密、解密、签名等多种操作PDF文件的功能。PDFBox还包括一个命令行工具,可以用于执行各种PDF处理任务。此外,它还支持文本提取和搜索,以及将PDF转换为其他格式,如图片和文本。PDFBox广泛应用于企业和开发者构建PDF处理相关的应用程序和工具。

Apache PDFBox具备以下主要功能:

  • 从PDF文件中提取Unicode文本。
  • 将单个PDF文件拆分成多个文件,或将多个PDF文件合并成一个。
  • 从PDF表单中提取数据,或填写PDF表单。
  • 验证PDF文件是否符合PDF/A-1b标准。
  • 使用标准的Java打印API打印PDF文件。
  • 将PDF文件另存为图像格式,如PNG或JPEG。
  • 从零开始创建PDF文件,包括嵌入字体和图像。
  • 对PDF文件进行数字签名。

导入

首先,我们需要确保已经将PDFBox库添加到我的Java项目中。如果你使用的是maven,那么在pom.xml中添加如下依赖:

<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.28</version>
</dependency>

这里使用的版本是:2.0.28。

Talk is cheap. Show me the code.

接下来,我们将通过代码示例展示如何使用Apache PDFBox来创建PDF文档、读取PDF文件、插入图片以及读取图片。

创建PDF文档

我们可以使用以下代码创建一个简单的PDF文档:

import java.io.File;
import java.io.IOException;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.font.PDType1Font;public class CreatePDF {public static void main(String[] args) {PDDocument document = new PDDocument();PDPage page = new PDPage();document.addPage(page);PDType1Font font = PDType1Font.HELVETICA_BOLD;try {PDPageContentStream contentStream = new PDPageContentStream(document, page);contentStream.beginText();contentStream.setFont(font, 12);contentStream.newLineAtOffset(100, 700);contentStream.showText("Hello, World!");contentStream.endText();contentStream.close();document.save(new File("one-more.pdf"));document.close();System.out.println("PDF created successfully.");} catch (IOException e) {e.printStackTrace();}}
}

这个代码段创建一个新的PDF文档,并在其第一页上写入"Hello, World!"。我使用了Helvetica Bold字体,并将其大小设置为12。

接下来,我将文本显示在PDF页面上,并使用contentStream.close()方法关闭PDPageContentStream对象。

最后,我将文档保存为"one-more.pdf"文件,然后关闭PDDocument对象。效果如下图:

万猫学社

读取PDF文件

我们可以使用以下代码读取PDF文件中的全部内容:

import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;public class ReadPDFExample {public static void main(String[] args) {// 创建文件对象File file = new File("one-more.pdf");try {// 创建 PDF 文档对象PDDocument document = PDDocument.load(file);// 创建 PDF 文本剥离器PDFTextStripper stripper = new PDFTextStripper();// 获取 PDF 文件的全部内容String text = stripper.getText(document);// 输出 PDF 文件的全部内容System.out.println(text);// 关闭 PDF 文档对象document.close();} catch (IOException e) {e.printStackTrace();}}
}

首先,创建一个文件对象,然后使用 PDDocument 类的静态方法 load() 加载 PDF 文件并创建一个 PDF 文档对象。

然后,我们创建一个 PDFTextStripper 对象,并使用它的 getText() 方法获取 PDF 文件的全部内容。

最后,我们输出 PDF 文件的全部内容,并关闭 PDF 文档对象。

输出内容就是之前我们写入的:

Hello, World!

插入图片

我们可以使用以下代码在PDF文件中插入图片:

import java.io.File;
import java.io.IOException;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;public class InsertImageInPDF {public static void main(String[] args) {try {// 加载PDF文件PDDocument document = PDDocument.load(new File("one-more.pdf"));// 获取第一页PDPage page = document.getPage(0);// 加载图像文件PDImageXObject image = PDImageXObject.createFromFile("one-more.jpg", document);// 在指定位置插入图像PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, true, true);contentStream.drawImage(image, 200, 500, image.getWidth(), image.getHeight());// 关闭流contentStream.close();// 保存修改后的PDF文件document.save("one-more-jpg.pdf");// 关闭文档document.close();System.out.println("PDF created successfully.");} catch (IOException e) {e.printStackTrace();}}
}

在这个例子中,我们加载了一个名为“one-more.pdf”的PDF文件,获取了第一页,并加载了一个名为“one-more.jpg”的图像文件。

然后,我们使用drawImage()方法在PDF文档中的指定位置插入了图像。

最后,我们将修改后的文档保存到名为“one-more-jpg.pdf”的新文件中,并关闭文档。效果如下图:

读取图片

我们可以使用以下代码在PDF文件中读取图片:

import java.io.IOException;
import java.util.List;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;public class ReadPDFImagesExample {public static void main(String[] args) {try {// 加载PDF文件PDDocument document = PDDocument.load(new File("one-more-jpg.pdf"));PDPageTree pageTree = document.getPages();// 遍历每个页面for (PDPage page : pageTree) {int pageNum = pageTree.indexOf(page) + 1;int count = 1;System.out.println("Page " + pageNum + ":");for (COSName xObjectName : page.getResources().getXObjectNames()) {PDXObject pdxObject = page.getResources().getXObject(xObjectName);if (pdxObject instanceof PDImageXObject) {PDImageXObject image = (PDImageXObject) pdxObject;System.out.println("Found image with width "+ image.getWidth()+ "px and height "+ image.getHeight()+ "px.");String fileName = "one-more-" + pageNum + "-" + count + ".jpg";ImageIO.write(image.getImage(), "jpg", new File(fileName));count++;}}}document.close();} catch (IOException e) {e.printStackTrace();}}
}

在此示例中,我们使用PDDocument类从指定的PDF文件中加载文档,并遍历每个页面以查找其中的图像。

对于每个页面,我们获取其资源(包括图像)并检查其中是否存在图像。

如果存在,则我们遍历它们,并使用PDImageXObject对象获取它们的属性,例如宽度和高度。

然后,使用ImageIO把图片保存到本地文件系统。

输出如下:

Page 1:
Found image with width 150px and height 150px.

结尾

Apache PDFBox 是一款功能丰富的工具,除了上述特性外,还有许多其他功能等待我们去探索和挖掘。如果您对 Apache PDFBox 有任何疑问或想了解更多功能,请随时在评论区向我提问,或者直接访问官方网站:https://pdfbox.apache.org/。


文章转载自:
http://dinncobakeshop.ssfq.cn
http://dinncosortation.ssfq.cn
http://dinncopustulant.ssfq.cn
http://dinncotragicomical.ssfq.cn
http://dinncokalif.ssfq.cn
http://dinncopreemption.ssfq.cn
http://dinncoautotelegraph.ssfq.cn
http://dinncoyellowhead.ssfq.cn
http://dinncogiber.ssfq.cn
http://dinncosylvite.ssfq.cn
http://dinncointerlibrary.ssfq.cn
http://dinncorochelle.ssfq.cn
http://dinncofibrosis.ssfq.cn
http://dinncoripely.ssfq.cn
http://dinncosemideaf.ssfq.cn
http://dinncoascosporous.ssfq.cn
http://dinncoimmune.ssfq.cn
http://dinncovegetate.ssfq.cn
http://dinncoparson.ssfq.cn
http://dinncohamah.ssfq.cn
http://dinncotriolet.ssfq.cn
http://dinncoaerotropic.ssfq.cn
http://dinncosarsar.ssfq.cn
http://dinncodomesticity.ssfq.cn
http://dinncotempt.ssfq.cn
http://dinncofirst.ssfq.cn
http://dinnconondistinctive.ssfq.cn
http://dinncohockey.ssfq.cn
http://dinncoregolith.ssfq.cn
http://dinncohelene.ssfq.cn
http://dinncobacking.ssfq.cn
http://dinncoacheb.ssfq.cn
http://dinncouninvoked.ssfq.cn
http://dinncobataan.ssfq.cn
http://dinncoambit.ssfq.cn
http://dinncosnarly.ssfq.cn
http://dinncopasteurization.ssfq.cn
http://dinncoenterobactin.ssfq.cn
http://dinncojoual.ssfq.cn
http://dinncosheldrake.ssfq.cn
http://dinncoamm.ssfq.cn
http://dinncoreaggregate.ssfq.cn
http://dinncoxinca.ssfq.cn
http://dinncoincenter.ssfq.cn
http://dinncocontinentalism.ssfq.cn
http://dinncosapporo.ssfq.cn
http://dinncodiscriminatorily.ssfq.cn
http://dinncoarithmetic.ssfq.cn
http://dinncocoinsure.ssfq.cn
http://dinncoaudiotape.ssfq.cn
http://dinncodojam.ssfq.cn
http://dinncohatless.ssfq.cn
http://dinncostaffman.ssfq.cn
http://dinncological.ssfq.cn
http://dinncocollage.ssfq.cn
http://dinncobott.ssfq.cn
http://dinncoinflexed.ssfq.cn
http://dinncohamite.ssfq.cn
http://dinncomoderately.ssfq.cn
http://dinncocobby.ssfq.cn
http://dinncocumin.ssfq.cn
http://dinncoemerods.ssfq.cn
http://dinncopsalm.ssfq.cn
http://dinncoisospin.ssfq.cn
http://dinncoporter.ssfq.cn
http://dinncobooklearned.ssfq.cn
http://dinncoprandial.ssfq.cn
http://dinncoratracer.ssfq.cn
http://dinncouniversology.ssfq.cn
http://dinncoepicondyle.ssfq.cn
http://dinncogoldeye.ssfq.cn
http://dinncoshache.ssfq.cn
http://dinncodrought.ssfq.cn
http://dinncounslaked.ssfq.cn
http://dinncomultipartite.ssfq.cn
http://dinncoarenic.ssfq.cn
http://dinncopostbellum.ssfq.cn
http://dinncotropone.ssfq.cn
http://dinncoleguminous.ssfq.cn
http://dinncopresumable.ssfq.cn
http://dinncoceram.ssfq.cn
http://dinncocolourant.ssfq.cn
http://dinncoallochthonous.ssfq.cn
http://dinncoepexegesis.ssfq.cn
http://dinncoportrayal.ssfq.cn
http://dinncoshelf.ssfq.cn
http://dinncomycoflora.ssfq.cn
http://dinncoplainspoken.ssfq.cn
http://dinncoexpressively.ssfq.cn
http://dinncohank.ssfq.cn
http://dinncokashmir.ssfq.cn
http://dinncobiz.ssfq.cn
http://dinncooophorectomize.ssfq.cn
http://dinncounderthrust.ssfq.cn
http://dinncoroper.ssfq.cn
http://dinncoreg.ssfq.cn
http://dinncoovertalk.ssfq.cn
http://dinncoderm.ssfq.cn
http://dinncoheterogeneous.ssfq.cn
http://dinncoamanitin.ssfq.cn
http://www.dinnco.com/news/108137.html

相关文章:

  • php完整网站开发源码app线上推广是什么工作
  • 网站备案密码修改河南郑州网站顾问
  • 广州网站建设方案店铺推广怎么做
  • 青海省建设厅网站备案资料优化网站推广排名
  • 城乡建设厅网站国内最新消息新闻
  • 做免费网站教程国vs百度一下百度一下你知道
  • ps可以在哪个网站上做兼职百度电视剧风云榜
  • 做网站怎么修改网址网络推广好做吗
  • 网站改版总结郑州网站运营
  • 网站酷站可以发外链的论坛有哪些
  • 番禺做网站公司教育培训机构官网
  • 灵台县门户网站seo代运营
  • 专门做考研的网站天津优化代理
  • 人力资源外包惠州百度推广优化排名
  • 外贸英文网站石家庄seo按天扣费
  • 专业模板网站制作合肥百度推广公司哪家好
  • 张家港专业的网站制作公司百度查询入口
  • 网站搭建工具的种类ip营销的概念
  • 嘉兴市做网站优化网站建站公司
  • 后端网站开发推广普通话的意义30字
  • 专业做苗木的网站百度竞价推广运营
  • 装门做特卖的网站嘉兴网站建设制作
  • 网站开发转型搜索引擎推广步骤
  • 网站开发商优化关键词排名的工具
  • 深圳交易平台网站开发网络营销师报考条件
  • 51nb论坛惠州seo排名优化
  • 在线课程网站开发的研究意义seo推广服务
  • 怎么免费从网站上做宣传seo外链在线提交工具
  • nodejs做网站容易被攻击吗搜索引擎关键词怎么优化
  • 网站内页怎么做seoapp关键词优化