Java 在JSP页面上载PDF文件并将其转换为文本文件
我需要一些代码方面的帮助。。我有一个工作的Java代码将PDF转换为文本文件,还有一个JSP页面将其上传。 问题是我想链接它们,即,当我上传PDF文件时,它应该将上传的文件作为输入,并生成相应的转换文本文件Java 在JSP页面上载PDF文件并将其转换为文本文件,java,jsp,pdf,text,Java,Jsp,Pdf,Text,我需要一些代码方面的帮助。。我有一个工作的Java代码将PDF转换为文本文件,还有一个JSP页面将其上传。 问题是我想链接它们,即,当我上传PDF文件时,它应该将上传的文件作为输入,并生成相应的转换文本文件 FileConverter.java package fileconverter; import java.io.File; import java.io.FileWriter; import java.io.BufferedWriter;
FileConverter.java
package fileconverter;
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
import java.io.IOException;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JFileChooser;
public class FileConverter {
public static void main(String[] args) {
selectPDFFiles();
}
//allow pdf files selection for converting
public static void selectPDFFiles(){
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("PDF","pdf");
chooser.setFileFilter(filter);
chooser.setMultiSelectionEnabled(true);
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {
File[] Files=chooser.getSelectedFiles();
System.out.println("Please wait...");
for( int i=0;i<Files.length;i++){
convertPDFToText(Files[i].toString(),"Text-File"+i+".txt");
}
System.out.println("Conversion complete");
}
}
public static void convertPDFToText(String src,String desc){
try{
FileWriter fw=new FileWriter(desc);
try (
BufferedWriter bw = new BufferedWriter(fw)) {
PdfReader pr=new PdfReader(src);
int pNum=pr.getNumberOfPages();
for(int page=1;page<=pNum;page++){
String text=PdfTextExtractor.getTextFromPage(pr, page);
bw.write(text);
bw.newLine();
}
bw.flush();
}
}
catch(IOException e){}
}
}
upload.jsp
<%--
Document : upload
Created on : May 16, 2014, 1:42:47 PM
Author : Kelvin
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head><title>Upload and convert</title>
<body>
<div id="main">
<table id="uploadtbl" width="550" align="center" border="1">
<tr>
<th align="center">Upload and convert pdf to text file</th>
</tr>
<tr>
<td>
<input type="file" name="upload">
</td>
</tr>
<tr>
<td><input type="submit" name="totext" value="Convert To Text" /></td>
</tr>
</table>
</div>
</body>
</html>
FileConverter.java
包文件转换器;
导入java.io.File;
导入java.io.FileWriter;
导入java.io.BufferedWriter;
导入com.itextpdf.text.pdf.PdfReader;
导入com.itextpdf.text.pdf.parser.PdfTextExtractor;
导入java.io.IOException;
导入javax.swing.filechooser.FileNameExtensionFilter;
导入javax.swing.JFileChooser;
公共类文件转换器{
公共静态void main(字符串[]args){
选择Pdfiles();
}
//允许选择pdf文件进行转换
公共静态void selectPffiles(){
JFileChooser chooser=新的JFileChooser();
FileNameExtensionFilter=新FileNameExtensionFilter(“PDF”、“PDF”);
选择器.setFileFilter(过滤器);
选择器。setMultiSelectionEnabled(真);
int returnVal=chooser.showOpenDialog(null);
if(returnVal==JFileChooser.APPROVE_选项){
File[]Files=chooser.getSelectedFiles();
System.out.println(“请稍候…”);
对于(int i=0;i通常,您必须创建HTML表单,使用POST方法将文件发送到服务器,例如:
<form action="/upload" method="POST">
<input type="file" name="upload">
<input type="submit" value="send">
<form>
现在您需要服务器端。您可以实现自己的servlet(或JSP,尽管不建议将代码实现到JSP中),并将其部署在URL“/upload”
下。URL的名称无关紧要,它只需与您在表单的action
属性中编写的内容相对应
但是,您不必实现servlet。就从它开始吧。我希望这有帮助。您有什么问题吗?谢谢您,AlexR,我的问题是我不知道如何链接Java程序和JSP页面,当我单击submit按钮时,将上传的pdf文件转换为文本文件。我首先尝试实现servlet我正在修改上面的Java代码,但是失败了,因为我对servlets还是新手。先生,你能告诉我一些关于如何实现这种servlet的技巧吗?同样,你不需要实现任何东西。只需在你的容器上部署Apache的FileUpload
servlet。请按照我提供的链接进行操作。这里是:非常感谢先生,非常感谢你的帮助。这里还是新来的,几乎没有什么“名声”,不足以投票支持,但非常感谢你的帮助。再次感谢你,先生