Finalmente lo conseguí para trabajar. Esbocé los pasos que seguí para obtener un ejemplo de trabajo. Espero que alguien encuentre esto útil.
Descargar el Java JDK
Descargar IKVM 0.42.0.6
Descargar PDFBox 1.6.0-src.zip
El Ant Manual era útil.
Retitulé las carpetas de hormigas y PDFBox para acortar sus nombres y les ha llevado mi unidad C:
Usted tiene que configurar las variables de entorno. (Windows 7) Haga clic con el botón derecho en Mi PC-> Propiedades-> Configuraciones avanzadas del sistema-> Variables de entorno
Utilicé la configuración a continuación, pero la suya variará dependiendo de dónde instaló Java y dónde puso Ant y PDF Carpetas de cajas.
Variable Value
ANT_HOME C:\apache-ant\
JAVA_HOME C:\Program Files (x86)\Java\jdk1.7.0_01
Path ;C:\apache-ant\bin\ (Append semi-colon and path)
Una vez que el anterior que se haga, el tipo de “hormiga” en una ventana de comandos, usted debe conseguir un mensaje “build.xml no existe!” Si todo está configurado correctamente.
Edite el archivo build.xml dentro de la carpeta "pdfbox-1.6.0 \ pdfbox". Busque la línea que tiene Reemplace "." Con "Su ruta de carpeta IKVM".
me trasladaron IKVM a “C: \ IKVM" así que la mía se parece a:
Abrir una ventana de comandos y cd en “C: \ PDFBox-1.6.0 \ PDFBox“y tipo ‘hormiga’
... y entonces se produce un milagro.
un montón de nuevas carpetas ahora debe existir en la carpeta PDFBox. las DLL son necesarias en la carpeta bin. no sé por qué, pero tengo un “-SNAPSHOT” y el final de todos mis archivos (pdfbox-1.6.0-SNAPSHOT.dll).
IKVM.GNU.Classpath (también llamado IKVM.OpenJDK.Classpath) ya no existe, se modularizó desde la versión 0.40. Ahora está disponible en forma de varias dll de IKVM.OpenJDK. Solo necesitas algunos de ellos.
Crear un nuevo proyecto en Visual Studio C#
copiar estos archivos desde la carpeta bin PDFBox a la carpeta bin de C# bin proyecto carpeta visual:
pdfbox-1.6.0-SNAPSHOT.dll
fontbox-1.6.0-SNAPSHOT.dll
commons-logging.dll
copiar estos archivos de la papelera de ikvm carpeta a la carpeta bin de la carpeta de Visual C# bin proyecto:
IKVM.OpenJDK.Core.dll
IKVM.OpenJDK.SwingAWT.dll
IKVM.OpenJDK.Text.dll
IKVM.OpenJDK.Util.dll
IKVM.Runtime.dll
agregar referencias a las DLL iKVM anteriores y construir su proyecto.
Agregue una referencia al pdfbox dll y cree su proyecto nuevamente.
Ahora está listo para escribir un código. El ejemplo simple a continuación produjo un buen archivo de texto desde el pdf de entrada.
using System;
using System.IO;
using org.apache.pdfbox.pdmodel;
using org.apache.pdfbox.util;
namespace testPDF
{
class Program
{
static void Main()
{
PDFtoText pdf = new PDFtoText();
string pdfText = pdf.parsePDF(@"C:\Sample.pdf");
using (StreamWriter writer = new StreamWriter(@"C:\Sample.txt"))
{ writer.Write(pdfText); }
}
class PDFtoText
{
public string parsePDF(string filepath)
{
PDDocument document = PDDocument.load(filepath);
PDFTextStripper stripper = new PDFTextStripper();
return stripper.getText(document);
}
}
}
}
¿Cómo se relaciona esto con java y lucene? – Manish
PDFBox está escrito en Java y se usa a menudo junto con Lucene. Estoy tratando de usar una aplicación Java en .Net usando IKVM. – SharpBarb