Análisis del código fuente Ts
¿Importado? Java .io . flujo de entrada del archivo;
¿Importar? Excepción de archivo Java .io no encontrado;
¿Importar? Java .io .io excepción;
¿Importar? org .pdf box . analizador de pdf . analizador de pdf;
¿Importar? org. cuadro pdf. modelo PD. documento PD;
¿Importar? org .pdf box . util .pdftextstripper;
¿Público? ¿clase? ¿Lector de PDF? {
/**?
*? ¿lector? ¿todo? ¿eso? ¿Palabra? ¿De donde? ¿respuesta? pdf? documento.
*?¿Y tú? ¿Hay alguno? ¿A dónde ir? hacer un trato? ¿Qué usar? ¿eso? ¿Formato? ¿de? ¿eso? ¿Producción? ¿Palabra? ¿Por quién? tú mismo. ?
*?2008-2-25?
*?@param? pdfFilePath? ¿documento? ¿camino?
*?@¿Volver? ¿todo? ¿Palabra? ¿existir? ¿eso? pdf? ¿documento?
*/
¿Público? ¿Electricidad estática? ¿Cadena? getTextFromPDF(String?pdfFilePath)?
{
¿Cadena? ¿resultado? =?nulo
FileInputStream? ¿Sí? =?nulo
PDDocumento? ¿documento? =?nulo
¿Intentar? {
¿En serio? =?¿Nuevo? archivo inputstream(pdfFilePath);
PDFParser? ¿Analizador? =?¿Nuevo? analizador de pdf(es);
parser . parse();
¿Documento? =?parser . getpd documento();
PDFTextStripper? Strippers. =?¿Nuevo? PDFTextStripper();
¿Resultado? =?stripper.getText(documento);
}?Catch? (¿FileNotFoundException?e)? {
//?Todo? ¿Generado automáticamente? ¿Atrapar? bloquear
e .printstacktrace();
}?Catch? (IOExcepción? e)? {
//?Todo? ¿Generado automáticamente? ¿Atrapar? bloques
e .printstacktrace();
}?¿Finalmente? {
¿Y si? (¿Sí?!=?nulo)? {
¿Intentarlo? {
es . close();
}?¿Capturar? (IOExcepción? e)? {
//?Todo? ¿Generado automáticamente? ¿Atrapar? bloquear
e .printstacktrace();
}
}
¿Si? (¿Documentación?!=?nulo)? {
¿Intentarlo? {
documento.cerrar().
}?¿Atrapar? (IOExcepción? e)? {
//?Todo? ¿Generado automáticamente? ¿Atrapar? bloquear
e.printstacktrace();
}
}
}
¿Volver? Resultado;
}
¿públicoestático? ¿Vacío? main(Cadena[]? Parámetro)
{
Cadena? str = lector de pdf . gettextfrompdf(" C:\\read . pdf ");
system out . Código 2:
¿Importar? Archivo Java .io .
¿Importar? Flujo de salida del archivo Java .io;
¿Importar? Java .io . Streamwriter de salida;
¿Importar? Java .io .escritor;
¿Importar? Java net . malformedurlexception;
¿Importar? URL neta de Java;
¿Importar? org. cuadro pdf. modelo PD. documento PD;
¿Importar? org .pdf box . util .pdftextstripper;
¿Público? ¿clase? ¿Lector de PDF? {
¿Público? ¿Vacío? readFdf(¿Cadena? ¿Archivo)? ¿Tiro que cae? ¿excepción? {
¿Booleano? ¿Clasificar? =?Falso;
¿Cadena? ¿Archivo pdf? =?Archivo;
Cadena? ¿Archivo de texto? =?nulo
Cadena? ¿codificación? =?"UTF-8";
int? ¿Página de inicio? =?1;
int? página final? =?entero. MAX_VALOR
¿Escritor? ¿Producción? =?nulo
PDDocumento? ¿documento? =?nulo
¿Intentar? {
¿Intentarlo? {
//? Primero cargue el archivo como una URL y luego, si se produce una excepción, // cargue el archivo desde el sistema de archivos local.
¿Dirección web? URL? =?¿Nuevo? URL(archivo pdf);
//Tenga en cuenta que el parámetro no es una URL. Pero el archivo está en la versión anterior.
¿Documentación? =?Documento PD . cargar(archivo pdf);
//?Obtener el nombre del archivo PDF.
¿Cadena? ¿Nombre del archivo? =?URL . getfile();
//?Nombre el archivo de texto recién generado con el nombre del PDF original.
¿Y si? (fileName.length()? gt? 4)?{
¿Archivo? ¿Archivo de salida? =?¿Nuevo? File(fileName.substring(0, nombre de archivo
. length()?-?4)
?".txt ");
¿Archivo de texto? =?archivo de salida . getname();
}
}?Catch? (¿Excepción de URL mal formada? e)? {
//?Si se obtiene una excepción al cargarla como una URL, cargue la excepción desde el sistema de archivos.
//Tenga en cuenta que el parámetro no es una URL. Pero el archivo está en la versión anterior.
¿Documentación? =?Documento PD .cargar(archivo pdf);
¿Si? (pdfFile.length()? gt? 4)?{
¿Archivo de texto? =?pdfFile.substring(0, pdfFile.length()?-?4)
?".txt ";
}
}
¿Salida? =?¿Nuevo? OutputStreamWriter(¿nuevo? FileOutputStream(archivo de texto),
Codificación);
PDFTextStripper? Strippers. =?null
Desnudista. =?¿Nuevo? PDFTextStripper();
//? Establece si se debe ordenar.
stripper.setSortByPosition(sort);
//?Establecer página de inicio
stripper .establecer página de inicio(página de inicio);
//?Establezca la página final
stripper . setendpage(end page);
//?Llame a writeText de PDFTextStripper para extraer y generar el texto.
stripper.writeText(documento, salida);
}?¿Finalmente? {
¿Y si? (¿salida?!=?nulo)? {
//?Cerrar el flujo de salida
output . close();
}
¿Si? (¿Documentación?!=?nulo)? {
//?¿Cerrar PDF? Documento
documento.close().
}
}
}
/**?
*?@param? argumentos?
*/
¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {
//?Todo? ¿Generado automáticamente? ¿método? Colilla de cigarrillo
¿PDFReader? ¿Lector de pdf? =?¿Nuevo? lector de pdf();
¿Probar? {
//? Obtenga el contenido de SpringGuide.pdf en la unidad E.
lector de pdf . leer fdf(" C: \ \ leer . pdf ");
}?Catch? (¿Excepción?e)? {
e. printstacktrace();
}
}
}2. Extraiga un archivo pdf que admita xpdf chino p> p>
Xpdf es un proyecto de código abierto y podemos llamar a sus métodos nativos para extraer archivos pdf chinos.
. com/technology/tech_downs/1880_004.zip
Paquete de parches:
. com/technology/tech _ downs/1880 _ 005 . zip
Instale el parche chino de acuerdo con el archivo Léame y podrá comenzar a escribir programas Java que llamen a métodos locales.
Aquí se muestran ejemplos de cómo realizar una llamada:
¿Importar? Java io *;
/**?
*? pdf? ¿Extraer lt/p gt;?
*? ltp gtDescripción:? Correo electrónico: Chris@matrix.org.cnlt;/pgt;?
*?ltp gtCopyright:? ¿matriz? ¿derechos de autor? (tres)? 2003lt/pgt;?
*? empresa ltp gt:? matriz org.cn lt;/p gt;?
*?@Autor? ¿Cris?
*?@¿Versión? 1.0, ¿quién? ¿usar? ¿este? ¿Ejemplo? ¿por favor? ¿Mantener? ¿eso? ¿declarar?
*/
¿Público? ¿clase? Pdf¿Ganar? {
¿Público? PdfWin()? {
}
¿Público? ¿Electricidad estática? ¿Vacío? principal(cadena?argumentos[])? ¿Tiro que cae? ¿Excepción
{
Cadena? PATH_TO_XPDF="C:Program?filesxpdfpdftotext.exe";
¿Cadena? nombre de archivo = "c:a.pdf";
Cadena[]? cmd? =?¿Nuevo? Cadena[]? {?PATH_TO_XPDF,? "-enc", "UTF número ocho",? "-q",? Nombre del archivo,? "-"};
¿Proceso? ¿pag? =?Runtime.getRuntime(). exec(cmd);
¿BufferedInputStream? ¿Bis? =?¿Nuevo? BufferedInputStream(p . getinputstream());
¿InputStreamReader? ¿lector? =?¿Nuevo? InputStreamReader(bis, "UTF-8");
StringWriter? ¿Afuera? =?¿Nuevo? escritor de cadenas();
¿Carácter? []?buf? =?¿Nuevo? char[10000];
int? len
Y ((len?=?reader . read(buf)) gt;=?0)?{
//out.write(buf,?0,?len );
System.out.println("¿la? longitud? es "len);
}
lector close();
¿Cadena? ts = nuevo? string(buf);
System.out.println("la? str? es "ts");
}
}