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

wordpress图片设置水印seo怎么刷排名

wordpress图片设置水印,seo怎么刷排名,进入城乡建设网站怎么竣工备案,网站上传文件代码如何精准地提取PDF格式中嵌入的表格数据,并将其无缝转换为更加易于分析和操作的形式,如纯文本、CSV文件或Excel工作表,是一项重要的文档处理技巧。使用Java,我们可以简单地实现这一过程。本文将介绍如何利用Java从PDF文档提取表格…

如何精准地提取PDF格式中嵌入的表格数据,并将其无缝转换为更加易于分析和操作的形式,如纯文本、CSV文件或Excel工作表,是一项重要的文档处理技巧。使用Java,我们可以简单地实现这一过程。本文将介绍如何利用Java从PDF文档提取表格数据,并写入文本文件、CSV文件以及Excel工作表

文章目录

    • 提取PDF表格数据写入文本文件
    • 提取PDF表格数据写入CSV文件
    • 提取PDF表格数据写入Excel文件

本文所使用的方法提取PDF表格主要需要免费的Free Spire.PDF for Java库,可下载导入或通过Maven导入:

<dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf.free</artifactId><version>9.13.0</version>
</dependency>

提取PDF表格需要用到库中的PdfTableExtractor类。我们可以为载入的PDF文件创建PdfTableExtractor对象,然后使用PdfTableExtractor.extractTable()方法根据页面在文档中的参数提取指定PDF页面上所有表格,最后再使用PdfTable.getText()方法即可获取表格中的数据。以下是一般操作步骤示例:

  • 创建PdfDocument对象并使用PdfDocument.loadFromFile()方法载入PDF文档。
  • 使用载入的PDF文档创建PdfTableExtractor对象。
  • 使用PdfTableExtractor.extractTable()方法提取每个页面上的表格。
  • 使用PdfTable.getText()方法获取PDF表格的单元格数据。

使用上述方法获取表格数据后,我们就可以将其写入文本文件,或搭配其他工具制作CSV或Excel文件了。

提取PDF表格数据写入文本文件

使用PdfTableExtractor.extractTable()方法提取表格并使用PdfTable.getText()方法获取单元格数据后,我们可以通过构建字符串并写入文本文件来实现提取表格并保存为文本文件的目的。以下是详细操作步骤:

  1. 导入所需模块。
  2. 创建PdfDocument对象并使用PdfDocument.loadFromFile()方法载入PDF文档。
  3. 使用载入的PDF文档创建PdfTableExtractor对象。
  4. 遍历页面,使用PdfTableExtractor.extractTable()方法提取每个页面上的所有表格。
  5. 遍历提取到的表格,为每个表格创建一个StringBuilder对象。
  6. 遍历表格中的行和列,使用PdfTable.getText()方法获取每个单元格的数据并去除换行符。然后将单元格数据添加到StringBuilder对象。
  7. StringBuilder对象写入文本文件。
  8. 释放资源。

代码示例

import com.spire.pdf.PdfDocument;
import com.spire.pdf.utilities.PdfTable;
import com.spire.pdf.utilities.PdfTableExtractor;import java.io.FileWriter;
import java.io.IOException;public classPDF中提取文本 {public static void main(String[] args) throws IOException {// 创建一个PdfDocument对象PdfDocument pdf = new PdfDocument();// 加载一个PDF文档pdf.loadFromFile("Sample.pdf");// 创建一个PdfTableExtractor对象PdfTableExtractor extractor = new PdfTableExtractor(pdf);// 从每一页中提取表格for (int pageIndex = 0; pageIndex < pdf.getPages().getCount(); pageIndex++) {PdfTable[] tables = extractor.extractTable(pageIndex);// 如果表格不为空,则遍历表格if (tables != null) {for (int tableIndex = 0; tableIndex < tables.length; tableIndex++) {PdfTable table = tables[tableIndex];// 创建一个StringBuilder对象StringBuilder tableText = new StringBuilder();// 遍历行和列for (int rowIndex = 0; rowIndex < table.getRowCount(); rowIndex++) {for (int colIndex = 0; colIndex < table.getColumnCount(); colIndex++) {// 获取单元格文本并移除换行符String cellText = table.getText(rowIndex, colIndex);cellText = cellText.replaceAll("\\r|\\n", "");if (colIndex < table.getColumnCount() - 1) {tableText.append(cellText).append("\t");} else {tableText.append(cellText).append("\n");}}}// 将表格写入文本文件try (FileWriter writer = new FileWriter("output/Tables/Page" + (pageIndex+1) + "-Table" + (tableIndex+1) + ".txt")) {writer.write(tableText.toString());}}}}}
}

提取结果
Python提取PDF表格到文本

提取PDF表格数据写入CSV文件

我们也可以用同样的方法提取表格数据,然后搭配其他模块,如opencsv,将提取到的数据写入CSV文件。也可以使用下面的提取PDF表格写入Excel文件,最后保存时保存为CSV文件。
opencsv:

<dependency><groupId>com.opencsv</groupId><artifactId>opencsv</artifactId><version>5.9</version>
</dependency>

以下是搭配opencsv提取PDF表格数据并写入CSV文件的操作步骤:

  1. 导入所需模块。
  2. 创建PdfDocument对象并使用PdfDocument.loadFromFile()方法载入PDF文档。
  3. 使用载入的PDF文档创建PdfTableExtractor对象。
  4. 历页面面,使用PdfTableExtractor.extractTable()方法提取每个页面上的所有表格。
  5. 遍历提取的表格,并构建CSV文件名。
  6. 创建CSVWriter对象,遍历表格行以及行中的列,使用PdfTable.getText()方法获取每个单元格的数据并去除换行符,将提取的每行表格数据构建为字符串列表。最后将字符串列表写入为CSV数据行。
  7. 释放资源。

代码示例

import com.opencsv.CSVWriter;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.utilities.PdfTable;
import com.spire.pdf.utilities.PdfTableExtractor;import java.io.FileWriter;
import java.io.IOException;public classPDF表格提取到CSV {public static void main(String[] args) throws IOException {// 创建一个PdfDocument对象PdfDocument pdf = new PdfDocument();// 加载一个PDF文档pdf.loadFromFile("Sample.pdf");// 创建一个PdfTableExtractor对象PdfTableExtractor extractor = new PdfTableExtractor(pdf);// 从每一页中提取表格for (int pageIndex = 0; pageIndex < pdf.getPages().getCount(); pageIndex++) {PdfTable[] tables = extractor.extractTable(pageIndex);// 如果表格不为空,则遍历表格if (tables != null) {for (int tableIndex = 0; tableIndex < tables.length; tableIndex++) {PdfTable table = tables[tableIndex];// 创建CSV文件名String csvFileName = "output/Tables/Page" + (pageIndex + 1) + "-Table" + (tableIndex + 1) + ".csv";// 创建一个CSVWriter对象try (CSVWriter writer = new CSVWriter(new FileWriter(csvFileName))) {// 遍历行和列for (int rowIndex = 0; rowIndex < table.getRowCount(); rowIndex++) {String[] row = new String[table.getColumnCount()];for (int colIndex = 0; colIndex < table.getColumnCount(); colIndex++) {// 获取单元格文本并移除换行符String cellText = table.getText(rowIndex, colIndex).replaceAll("\\r?\\n", "");row[colIndex] = cellText;}// 将行写入CSV文件writer.writeNext(row);}}}}}// 关闭PDF文档pdf.close();}
}

提取结果
Python提取PDF表格到CSV

提取PDF表格数据写入Excel文件

保存PDF表格到表格需要用到Free Spire.XLS for Java。我们可以提取到PDF文档表格单元格数据后,使用Worksheet.getRange().setText()方法将数据写入到创建的Excel工作表的相应单元格并保存,从而实现PDF表格数据到Excel文件的提取。同时,我们还可以在保存文件时将格式参数设置为CSV,实现PDF表格数据到CSV文件的提取。
Free Spire.XLS for Java:

<dependency><groupId>e-iceblue</groupId><artifactId>spire.xls.free</artifactId><version>5.3.0</version>
</dependency>

以下是详细操作步骤:

  1. 导入所需模块。
  2. 创建PdfDocument对象并使用PdfDocument.loadFromFile()方法载入PDF文档。
  3. 创建Workbook对象,并使用Workbook.getWorksheets().clear()方法清除默认工作表。
  4. 使用载入的PDF文档创建PdfTableExtractor对象。
  5. 历页面面,使用PdfTableExtractor.extractTable()方法提取每个页面上的所有表格。
  6. 遍历提取的表格,使用Workbook.getWorksheets().add()方法为每个表格创建一个指定名称的工作表。
  7. 遍历表格行和列,使用PdfTable.getText()方法获取每个单元格的数据并去除换行符,然后使用Worksheet.getRange().setText()方法将单元格数据写入到工作表的相应单元格。
  8. 设置工作表单元格的格式。
  9. 使用Worksheet.autoFitRow()Worksheet.autoFitColumn()方法自动调整行高和列宽。
  10. 可以使用Worksheet.saveToFile()方法将工作表保存为CSV文件。
  11. 使用Workbook.saveToFile()方法保存工作簿为Excel文件。
  12. 释放资源。

代码示例

import com.spire.pdf.PdfDocument;
import com.spire.pdf.utilities.PdfTable;
import com.spire.pdf.utilities.PdfTableExtractor;
import com.spire.xls.*;public classPDF表格提取到Excel {public static void main(String[] args) {// 创建一个PdfDocument对象PdfDocument pdf = new PdfDocument();// 加载一个PDF文档pdf.loadFromFile("G:/Documents/Sample73.pdf");// 创建一个Workbook对象Workbook workbook = new Workbook();workbook.getWorksheets().clear();// 创建一个PdfTableExtractor对象PdfTableExtractor extractor = new PdfTableExtractor(pdf);// 从每一页中提取表格for (int pageIndex = 0; pageIndex < pdf.getPages().getCount(); pageIndex++) {PdfTable[] tables = extractor.extractTable(pageIndex);// 如果表格不为空,则遍历表格if (tables != null) {for (int tableIndex = 0; tableIndex < tables.length; tableIndex++) {// 向工作簿中添加一个工作表Worksheet sheet = workbook.getWorksheets().add("Page" + (pageIndex + 1) + "-Table" + (tableIndex + 1));// 遍历表格中的行和列for (int rowIndex = 0; rowIndex < tables[tableIndex].getRowCount(); rowIndex++) {for (int colIndex = 0; colIndex < tables[tableIndex].getColumnCount(); colIndex++) {// 获取单元格文本并移除换行符String cellText = tables[tableIndex].getText(rowIndex, colIndex).replaceAll("\\r|\\n", "");// 将单元格文本写入工作表sheet.getCellRange(rowIndex+1, colIndex+1).setText(cellText);}}// 设置单元格样式CellRange[] rows = sheet.getRows();rows[0].getStyle().getFont().setFontName("HarmonyOS Sans SC");rows[0].getStyle().getFont().setSize(12);rows[0].getStyle().getFont().isBold(true);rows[0].getStyle().setHorizontalAlignment(HorizontalAlignType.Center);for (int i = 1; i < rows.length; i++) {rows[i].getStyle().getFont().setFontName("HarmonyOS Sans SC");rows[i].getStyle().getFont().setSize(12);rows[i].getStyle().setHorizontalAlignment(HorizontalAlignType.Left);}// 自动调整行和列for (int i = 0; i < rows.length; i++) {sheet.autoFitRow(i+1);}for (int i = 0; i < sheet.getColumns().length; i++) {sheet.autoFitColumn(i+1);}// 保存工作表为CSV文件// sheet.saveToFile("output/Tables/PDFTableToCSV-Page" + (pageIndex + 1) + "-Table" + (tableIndex + 1) + ".csv", ",");}}}// 保存工作簿workbook.saveToFile("output/PDFTableToExcel.xlsx");// 关闭PDF文档pdf.close();// 释放工作簿资源workbook.dispose();}
}

提取结果
Python提取PDF表格到Excel

本文演示了如何使用Java提取PDF表格数据写入文本、CSV以及Excel文件。

更多PDF文档操作技巧请前往Spire.PDF for Java教程查看。


文章转载自:
http://fasciole.pqbz.cn
http://heliocentric.pqbz.cn
http://munitions.pqbz.cn
http://journalese.pqbz.cn
http://pessimistically.pqbz.cn
http://timberwork.pqbz.cn
http://monocular.pqbz.cn
http://juxtaterrestrial.pqbz.cn
http://getter.pqbz.cn
http://chomp.pqbz.cn
http://overlearn.pqbz.cn
http://startled.pqbz.cn
http://bakeshop.pqbz.cn
http://gules.pqbz.cn
http://comedist.pqbz.cn
http://coleseed.pqbz.cn
http://bimeby.pqbz.cn
http://alma.pqbz.cn
http://shemozzle.pqbz.cn
http://drysalter.pqbz.cn
http://serrefine.pqbz.cn
http://linguate.pqbz.cn
http://wenonah.pqbz.cn
http://gmat.pqbz.cn
http://stratovision.pqbz.cn
http://adducent.pqbz.cn
http://decanter.pqbz.cn
http://scriber.pqbz.cn
http://acceptance.pqbz.cn
http://hypomanic.pqbz.cn
http://dressing.pqbz.cn
http://pabulum.pqbz.cn
http://quintefoil.pqbz.cn
http://crossgrained.pqbz.cn
http://warmly.pqbz.cn
http://skit.pqbz.cn
http://intercommunicate.pqbz.cn
http://barrelful.pqbz.cn
http://daydreamer.pqbz.cn
http://rama.pqbz.cn
http://sybarite.pqbz.cn
http://lenticellate.pqbz.cn
http://stotinka.pqbz.cn
http://leadbelly.pqbz.cn
http://morgen.pqbz.cn
http://drunkometer.pqbz.cn
http://comity.pqbz.cn
http://acidophilic.pqbz.cn
http://capitulate.pqbz.cn
http://uranalysis.pqbz.cn
http://mandate.pqbz.cn
http://sexualise.pqbz.cn
http://medroxyprogesterone.pqbz.cn
http://multiaxial.pqbz.cn
http://androphile.pqbz.cn
http://germination.pqbz.cn
http://waterloo.pqbz.cn
http://jointly.pqbz.cn
http://ogo.pqbz.cn
http://vbi.pqbz.cn
http://pi.pqbz.cn
http://panoramist.pqbz.cn
http://unpredictable.pqbz.cn
http://nampula.pqbz.cn
http://taurean.pqbz.cn
http://redress.pqbz.cn
http://deceptious.pqbz.cn
http://shapoo.pqbz.cn
http://skycoach.pqbz.cn
http://eatery.pqbz.cn
http://minutious.pqbz.cn
http://unprimed.pqbz.cn
http://barge.pqbz.cn
http://cantonalism.pqbz.cn
http://infusorial.pqbz.cn
http://assessee.pqbz.cn
http://ripen.pqbz.cn
http://caudiform.pqbz.cn
http://lona.pqbz.cn
http://primage.pqbz.cn
http://photosynthate.pqbz.cn
http://inurbanity.pqbz.cn
http://conscienceless.pqbz.cn
http://nyu.pqbz.cn
http://epiboly.pqbz.cn
http://squareflipper.pqbz.cn
http://medicinable.pqbz.cn
http://aglint.pqbz.cn
http://enculturation.pqbz.cn
http://inhabited.pqbz.cn
http://mundic.pqbz.cn
http://battlewise.pqbz.cn
http://freak.pqbz.cn
http://revealed.pqbz.cn
http://sauterne.pqbz.cn
http://constantsa.pqbz.cn
http://coexecutrix.pqbz.cn
http://underfill.pqbz.cn
http://proteiform.pqbz.cn
http://isotropic.pqbz.cn
http://www.dt0577.cn/news/88851.html

相关文章:

  • 网站建设及维护涉及哪些内容百度推广400电话
  • 做网站怎么连数据库三只松鼠的软文范例
  • 微信微商城怎么做南宁网站运营优化平台
  • 永久免费内存大服务器广州百度seo排名优化
  • 建网站需要哪些硬件韶关今日头条新闻
  • 哪个网站有png素材百度一下你就知道官方网站
  • 教学设计代做去什么网站软文范例大全500
  • 外贸行业网站建设公司排名种子搜索引擎torrentkitty
  • 在线电子商务网站开发新乡网站推广
  • 南昌网站建设公司服务新网域名
  • 尤溪网站开发网站下载
  • 做网站怎么租用服务器吗优化大师下载安装app
  • 建设网站前准备资料体验营销是什么
  • 网站维护的过程及方法小网站搜什么关键词
  • 设计大师网站沈阳seo关键词排名优化软件
  • 装修无忧网seo综合查询网站源码
  • 青岛建站推广seo排名课程咨询电话
  • 已有网站 需要整改 怎么做企业网站的在线推广方法有
  • 设计网站建站网站源码
  • 音乐分享 wordpress谷歌seo网站推广怎么做
  • 哪个小说网站防盗做的好seo是什么职位的简称
  • 怎么做网站架构怎么建网站卖东西
  • 做中英双语切换的网站怎样做网络推广
  • 京东网站是谁做的世界互联网峰会
  • 付费小说网站怎么做seo站长工具下载
  • 做企业网站报价无忧seo
  • 门户网站建设解决方案快手推广网站
  • 网站开发的策划书微博指数查询
  • 织梦网站描述怎么注册域名网址
  • 吉安网站建设jajjjc百度seo网络营销书