Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JSP页面上载PDF文件并将其转换为文本文件_Java_Jsp_Pdf_Text - Fatal编程技术网

Java 在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;

我需要一些代码方面的帮助。。我有一个工作的Java代码将PDF转换为文本文件,还有一个JSP页面将其上传。 问题是我想链接它们,即,当我上传PDF文件时,它应该将上传的文件作为输入,并生成相应的转换文本文件

    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。请按照我提供的链接进行操作。这里是:非常感谢先生,非常感谢你的帮助。这里还是新来的,几乎没有什么“名声”,不足以投票支持,但非常感谢你的帮助。再次感谢你,先生