导航:首页 > 文件处理 > java获取文件夹pdf页数

java获取文件夹pdf页数

发布时间:2023-06-02 22:37:11

java中如何获取pdf文件的总页数

用Free Spire.PDF JAVA版和陆本
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import java.io.*;
public class CountPages{
public static void main(String[] args) {

//缓竖创建PdfDocument实例
PdfDocument doc=new PdfDocument();
//加载PDF文扰棚大件
doc.loadFromFile("test.pdf");
int pageCount = doc.getPages().getCount();
doc.close();
}
}

㈡ 使用 java 编程,获取网路上的pdf文件

import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;

import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.widget.Toast;

public class MyService2 extends Service {

Thread thread = new Thread() {

@Override
public void run() {
try {
// 声明抛出所有例外
URL tirc = new URL("http://www..com/img/_sylogo1.gif");
// 构建一URL对象
InputStream is = tirc.openStream();

FileOutputStream fos = new FileOutputStream(
"/mnt/sdcard/_sylogo21.gif");

byte[] buffer = new byte[1024];
int len = is.read(buffer);

while (len != -1) {

fos.write(buffer, 0, len);
len = is.read(buffer);
}

fos.close();
is.close();
handler.sendEmptyMessage(1);

} catch (Exception e) {
e.printStackTrace();
}
}

};

Handler handler = new Handler() {

@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
Toast.makeText(MyService2.this, "下载完成...", Toast.LENGTH_LONG)
.show();
break;
}
}

};

@Override
public IBinder onBind(Intent intent) {
return null;
}

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Toast.makeText(this, "Service onStart...", Toast.LENGTH_LONG).show();

thread.start();
}

@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service created...", Toast.LENGTH_LONG).show();
}

@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service destroyed...", Toast.LENGTH_LONG).show();
}

}
把链接地址改了就可以了

㈢ java 如何读取PDF文件内容

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.util.PDFTextStripper;
public class PdfReader {
public void readFdf(String file) throws Exception {
// 是否排序
boolean sort = false;
// pdf文件名
String pdfFile = file;
// 输入文本文件名称
String textFile = null;
// 编码方式
String encoding = "UTF-8";
// 开始提取页数
int startPage = 1;
// 结束提取页数
int endPage = Integer.MAX_VALUE;
// 文件输入流,生成文本文件
Writer output = null;
// 内存中存储的PDF Document
PDDocument document = null;
try {
try {
// 首先当作一个URL来装载文件,如果得到异常再从本地文件系统//去装载文件
URL url = new URL(pdfFile);
//注意参数已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
// 获取PDF的文件名
String fileName = url.getFile();
// 以原来PDF的名称来命名新产生的txt文件
if (fileName.length() > 4) {
File outputFile = new File(fileName.substring(0, fileName
.length() - 4)
+ ".txt");
textFile = outputFile.getName();
}
} catch (MalformedURLException e) {
// 如果作为URL装载得到异常则从文件系统装载
//注意参数已不是以前版本中的URL.而是File。
document = PDDocument.load(pdfFile);
if (pdfFile.length() > 4) {
textFile = pdfFile.substring(0, pdfFile.length() - 4)
+ ".txt";
}
}
// 文件输入流,写入文件倒textFile
output = new OutputStreamWriter(new FileOutputStream(textFile),
encoding);
// PDFTextStripper来提取文本
PDFTextStripper stripper = null;
stripper = new PDFTextStripper();
// 设置是否排序
stripper.setSortByPosition(sort);
// 设置起始页
stripper.setStartPage(startPage);
// 设置结束页
stripper.setEndPage(endPage);
// 调用PDFTextStripper的writeText提取并输出文本
stripper.writeText(document, output);
} finally {
if (output != null) {
// 关闭输出流
output.close();
}
if (document != null) {
// 关闭PDF Document
document.close();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PdfReader pdfReader = new PdfReader();
try {
// 取得E盘下的SpringGuide.pdf的内容
pdfReader.readFdf("E://SpringGuide.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}

㈣ java操作pdf文件,能否找到某个关键词所在的页码 谢谢!

我刚刚做得一个PDF输出的一个小功能 发给你不知道对你有没有帮助
public static void getPDFDocument(ArrayList<UserTbl> list) throws DocumentException, IOException, BadElementException{

// ドキュメントの初期化
Document document = new Document(PageSize.A4);
// システム时间を取得する
Date date = new Date();
SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH'时'mm'分'ss'秒'");
SimpleDateFormat formatter2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString=formatter.format(date);
String dateString2=formatter2.format(date);
// ドキュメントURLの设定
String filePath = "e://"+dateString+".pdf";
PdfWriter.getInstance(document, new FileOutputStream(filePath));
// ドキュメントをオープンする
document.open();
// 文字様式を设定
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font f11 = new Font(bfChinese, 11, Font.NORMAL);
Font f8 = new Font(bfChinese, 8, Font.NORMAL);
Font f12 = new Font(bfChinese, 12, Font.BOLD);
// タイトルを作成する

Paragraph p1 = new Paragraph("利用者情报一覧\n", f12);
p1.setAlignment(Element.ALIGN_CENTER);
document.add(p1);
Paragraph p2 = new Paragraph("时间:"+dateString2+"\n\n", f11);
p2.setAlignment(Element.ALIGN_RIGHT);
document.add(p2);

// テーブルを作成する
PdfPTable table = new PdfPTable(7);
PdfPCell cell = new PdfPCell();
cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
cell.setPhrase(new Paragraph("PCログインID", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("お名前我", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("メールアドレス", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("携帯ログインID", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("所属", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("属性", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("データ种别", f8));
table.addCell(cell);
document.add(table);
table.setWidthPercentage(100);
// テーブルの中の内容
for(UserTbl bean : list){

document.add(getPdfHeader(bean,list));
}

document.close();
}

public static PdfPTable getPdfHeader(UserTbl bean,ArrayList<UserTbl> list) throws DocumentException, IOException{
PdfPTable table = new PdfPTable(7);
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font f8 = new Font(bfChinese, 8, Font.NORMAL);
// PCログインID
String userId = StringUtils.trim(bean.getUser_id());
// お名前
String userName = StringUtils.trim(bean.getUser_name());
// メールアドレス
String mobileMail = StringUtils.trim(bean.getMobile_mail());
// 携帯ログインID
String mobileId = StringUtils.trim(bean.getMobile_id());
// 所属
String MobilePass = StringUtils.trim(bean.getMobile_pass());
// 属性
String attr = StringUtils.trim(bean.getAttr());
// データ种别
String secName = StringUtils.trim(bean.getSec_name());
//写入table
PdfPCell cell = new PdfPCell();
cell.setPhrase(new Paragraph(userId, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(userName, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(mobileMail, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(mobileId, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(MobilePass, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(attr, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(secName, f8));
table.addCell(cell);
return table;

}
}

㈤ 用java读取pdf

可以使用PDFBOX0.7.3控件:
import java.io.InputStream;import java.io.IOException;
import org.apache.lucene.document.Document;import org.pdfbox.cos.COSDocument;
import org.pdfbox.pdfparser.PDFParser;import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.pdmodel.PDDocumentInformation;import org.pdfbox.util.PDFTextStripper;
import com.search.code.Index;
public Document getDocument(Index index, String url, String title, InputStream is)throws DocCenterException {COSDocument cosDoc = null;<br/> try {cosDoc = parseDocument(is);<br/> } catch (IOException e) {
closeCOSDocument(cosDoc);
throw new DocCenterException("无法处理该PDF文档", e);
}
if (cosDoc.isEncrypted()) {
if (cosDoc != null)
closeCOSDocument(cosDoc);
throw new DocCenterException("该PDF文档是加密文档,无法处理");
}
String docText = null;
try {
PDFTextStripper stripper = new PDFTextStripper();
docText = stripper.getText(new PDDocument(cosDoc));
} catch (IOException e) {
closeCOSDocument(cosDoc);
throw new DocCenterException("无法处理该PDF文档", e);
}
PDDocument pdDoc = null;
try {pdDoc = new PDDocument(cosDoc);<br/> PDDocumentInformation docInfo = pdDoc.getDocumentInformation();<br/> if(docInfo.getTitle()!=null && !docInfo.getTitle().equals("")){<br/> title = docInfo.getTitle();}
} catch (Exception e) {
closeCOSDocument(cosDoc);
closePDDocument(pdDoc);
System.err.println("无法取得该PDF文档的元数据" + e.getMessage());
} finally {
closeCOSDocument(cosDoc);
closePDDocument(pdDoc);
}
return null;
}
private static COSDocument parseDocument(InputStream is) throws IOException {
PDFParser parser = new PDFParser(is);parser.parse();return parser.getDocument();
}
private void closeCOSDocument(COSDocument cosDoc) {
if (cosDoc != null) {try {cosDoc.close();} catch (IOException e) {}
}}
private void closePDDocument(PDDocument pdDoc) {
if (pdDoc != null) {
try { pdDoc.close();
} catch (IOException e) {
}}}

㈥ 怎么用java读取pdf文件内容

你可以把pdf转成word在进行读取
推荐使用转转大师pdf转word转换器,免费的在线工具
网络搜索下,在线免费转换就行了,不用下载注册,很方便

㈦ android 如何获得pdf文件的页数

分页方法:

  1. 打开网络pdf 思路整体还是来源与图片的加载。

  2. android中加载网络图片的框架有很多个。如image-laoder, fresco、glide等,首先都是从内存中找图片,如果内存中没有,接着从本地找,本地没有在从网络下载。

  3. android中加载pdf也是类似,首先从本地找pdf文件,如果本地存在该pdf文件,直接打开,如果本地不存在,将该pdf文件下载到本地在打开。

  4. 下载文件用到了retrofit2的库,已经封装到android_pdf中了。

  5. 2.依赖android_pdf库方法

  6. 2.1 在项目的gradle中增加如下代码:

  7. compile 'com.lidong.pdf:android_pdf:1.0.1'

  8. 2.2 一句代码就可以加载网络pdf。

  9. ```

  10. pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址

  11. ```

  12. 2.3对fileFromLocalStorage(this,this,this,fileUrl,fileName)的解析

  13. /**

  14. ```

  15. * 加载pdf文件

  16. * @param onPageChangeListener

  17. * @param onLoadCompleteListener

  18. * @param onDrawListener

  19. * @param fileUrl

  20. * @param fileName

  21. */

  22. public void fileFromLocalStorage(

  23. final OnPageChangeListener onPageChangeListener,

  24. final OnLoadCompleteListener onLoadCompleteListener,

  25. final OnDrawListener onDrawListener,

  26. String fileUrl,

  27. final String fileName)

  28. ```

  29. 1. OnPageChangeListener onPageChangeListener :翻页回调

  30. 2. OnLoadCompleteListener onLoadCompleteListener:加载完成的回调

  31. 3. OnDrawListener:页面绘制的回调

  32. 4. String fileUrl : 文件的网络地址

  33. 5. String fileName 文件名称

  34. 3.使用android_pdf库方法

  35. 3.1写一个布局文件

  36. ```

  37. <?xml version="1.0" encoding="utf-8"?>

  38. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

  39. xmlns:tools="http://schemas.android.com/tools"

  40. android:id="@+id/activity_main"

  41. android:layout_width="match_parent"

  42. android:layout_height="match_parent"

  43. tools:context="com.lidong.pdf.androidpdf.MainActivity">

  44. <com.lidong.pdf.PDFView

  45. android:id="@+id/pdfView"

  46. android:layout_width="match_parent"

  47. android:layout_height="match_parent"

  48. />

  49. </RelativeLayout>

  50. ```

  51. 3.2在MainActivity中加载

  52. ```

  53. import android.graphics.Canvas;

  54. import android.os.Environment;

  55. import android.support.v7.app.AppCompatActivity;

  56. import android.os.Bundle;

  57. import android.util.Log;

  58. import android.widget.Toast;

  59. import com.lidong.pdf.PDFView;

  60. import com.lidong.pdf.api.ApiManager;

  61. import com.lidong.pdf.listener.OnDrawListener;

  62. import com.lidong.pdf.listener.OnLoadCompleteListener;

  63. import com.lidong.pdf.listener.OnPageChangeListener;

  64. import com.lidong.pdf.util.FileUtils;

  65. import java.io.File;

  66. import java.io.FileOutputStream;

  67. import java.io.IOException;

  68. import java.io.InputStream;

  69. import okhttp3.ResponseBody;

  70. import rx.android.schelers.AndroidSchelers;

  71. import rx.functions.Action1;

  72. import rx.schelers.Schelers;

  73. public class MainActivity extends AppCompatActivity implements OnPageChangeListener

  74. ,OnLoadCompleteListener, OnDrawListener {

  75. private PDFView pdfView ;

  76. @Override

  77. protected void onCreate(Bundle savedInstanceState) {

  78. super.onCreate(savedInstanceState);

  79. setContentView(R.layout.activity_main);

  80. pdfView = (PDFView) findViewById( R.id.pdfView );

  81. displayFromFile1("http://file.chmsp.com.cn/colligate/file/00100000224821.pdf", "00100000224821.pdf");

  82. }

  83. /**

  84. * 获取打开网络的pdf文件

  85. * @param fileUrl

  86. * @param fileName

  87. */

  88. private void displayFromFile1( String fileUrl ,String fileName) {

  89. pdfView.fileFromLocalStorage(this,this,this,fileUrl,fileName); //设置pdf文件地址

  90. }

  91. /**

  92. * 翻页回调

  93. * @param page

  94. * @param pageCount

  95. */

  96. @Override

  97. public void onPageChanged(int page, int pageCount) {

  98. Toast.makeText( MainActivity.this , "page= " + page +

  99. " pageCount= " + pageCount , Toast.LENGTH_SHORT).show();

  100. }

  101. /**

  102. * 加载完成回调

  103. * @param nbPages 总共的页数

  104. */

  105. @Override

  106. public void loadComplete(int nbPages) {

  107. Toast.makeText( MainActivity.this , "加载完成" + nbPages , Toast.LENGTH_SHORT).show();

  108. }

  109. @Override

  110. public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {

  111. // Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + "

  112. // pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show();

  113. }

  114. ```

阅读全文

与java获取文件夹pdf页数相关的资料

热点内容
阿鲁小表情文件夹 浏览:68
《龙猫》的导演是? 浏览:520
大尺度电影百度网盘链接 浏览:280
大话西游2粤语1080下载 浏览:312
课程app哪里找 浏览:515
pe模式下能格式化加密狗吗 浏览:794
pdfpmf 浏览:671
android社交app源码 浏览:235
我的世界命令方块变恐龙 浏览:199
编程刀补app 浏览:105
章小蕙《桃色》迅雷下载 浏览:953
海外华人影视 浏览:521
书包网下载全本txt免费下载 浏览:618
电影一个男孩和女主偷情 浏览:820
归来by勤劳的小野猫 浏览:154
法国马蹄铁电影在线 浏览:263
中国大陆老动作全部电影 浏览:876
十大封禁爱情电影观看 浏览:489
推荐血恋同级别的电影 浏览:117
男主意外和女主有孩子 浏览:616