ficaria no writer, ai poderia enviar a string writer, seria isso ???
Eu nunca usei essa API que lhe passei, mas você não leu com atenção o link que lhe passei.
E “writer” é escrita, não leitura. Portanto, o código que você deve analisar é esse:
Obviamente, ao invés de usar um “System.out.println” para imprimir o conteúdo em console, podes usar um StringBuffer para armazenar o conteúdo em String e depois usar, como julgar mais adequado.
fabiodurgante
importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;importorg.apache.pdfbox.pdfparser.PDFParser;importorg.apache.pdfbox.pdmodel.PDDocument;importorg.apache.pdfbox.util.PDFTextStripper;publicclassPdfParser{publicstaticvoidmain(String[]args)throwsIOException{PdfParserpdf=newPdfParser();pdf.setEnderecoRecurso("c:\\spedfiscal2.pdf");Stringretorno=pdf.getConteudo();FileWriterx=newFileWriter("c:\\teste.txt",false);x.write(retorno);x.close();FileInputStreamstream=newFileInputStream("c:\\teste.txt");StringBuildertxt=newStringBuilder();InputStreamReaderstreamReader=newInputStreamReader(stream);BufferedReaderreader=newBufferedReader(streamReader);Stringline=null;while((line=reader.readLine())!=null){txt.append(line);txt.append("\n");if(line.contains(" ")){txt.append(line.replaceAll(" ",";"));txt.append("\n");}}System.out.println(txt);}privateStringenderecoRecurso;publicvoidsetEnderecoRecurso(StringenderecoRecurso){this.enderecoRecurso=enderecoRecurso;// endereço dos ficheiros }publicStringgetConteudo(){Filef=newFile(this.enderecoRecurso);FileInputStreamis=null;try{is=newFileInputStream(f);}catch(IOExceptione){System.out.println("ERRO: "+e.getMessage());returnnull;}PDDocumentpdfDocument=null;try{PDFParserparser=newPDFParser(is);parser.parse();pdfDocument=parser.getPDDocument();PDFTextStripperstripper=newPDFTextStripper();returnstripper.getText(pdfDocument);}catch(IOExceptione){return"ERRO: Não é possível abrir a stream"+e;}catch(Throwablee){// Fazemos um catch, uma vez que precisamos de fechar o recurso return"ERRO: Um erro ocorreu enquanto tentava obter o conteúdo do PDF"+e;}finally{if(pdfDocument!=null){try{pdfDocument.close();}catch(IOExceptione){return"ERRO: Não foi possível fechar o PDF."+e;}}}}}
nesse exemplo teria uma variavel que pega todo o conteudo do arquivo PDF
seria essa linha StringBuilder TXT = new StringBuilder();
o TXT que é a variavel que esta salvando todoso conteudo do PDF ???
nel
Tu está testando o código ou querendo algo pronto ?
Estou começando a achar que falta esforço para compreender o código, para entender o que foi postado.
Como eu disse, eu nunca trabalhei com esta API, apenas a encontrei e lhe passei a referência.
Mas vamos lá, a priori o código funciona de forma simples, porque não faça um teste somente assim:
String path = "c:\\spedfiscal2.pdf";
PdfReader reader = new PdfReader(path);
int numberOfPages = reader.getNumberOfPages();
PdfTextExtractor extractor = new PdfTextExtractor(reader);
StringBuffer msg = new StringBuffer();
for (int i = 0;i<numberOfPages;i++) {
msg.append(extractor.getTextFromPage(i+1));
}
Runtime run = Runtime.getRuntime();
Process pr = run.exec( "net send ip " + msg.toString());
pr.waitFor();