W końcu udało mi się. Przedstawiłem kroki, które podjąłem, aby uzyskać działający przykład. Mam nadzieję, że ktoś uzna to za pomocne.
Pobierz Java JDK
Pobierz IKVM 0.42.0.6
Pobierz PDFBox 1.6.0-src.zip
Ant Manual był pomocny.
I przemianowany mrówka i PDFBox foldery skrócić ich imiona i przeniósł się im mój dysk C:
Musisz skonfigurować zmienne środowiskowe. (Windows 7) Kliknij prawym przyciskiem myszy Mój komputer-> Właściwości-> Zaawansowane ustawienia systemu-> Zmienne środowiskowe
Użyłem poniższych ustawień, ale twoje będą się różnić w zależności od miejsca instalacji Java i miejsca umieszczenia Ant i PDF Foldery skrzynki.
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)
Raz wyżej to zrobić, wpisz w „mrówki” w oknie poleceń, powinieneś dostać „build.xml nie istnieje!” Wiadomość, czy wszystko jest poprawnie ustawiony.
Edytuj plik build.xml w folderze "pdfbox-1.6.0 \ pdfbox". Znajdź linię, która ma Zamień "." Na "Twoja ścieżka folderów IKVM".
przeniosłem iKVM do „C: \ IKVM” tak kopalnia wygląda następująco:
otworzyć okno polecenia i przejdź do „C: \ PDFBox-1.6.0 \ PDFBox„i wpisać «mrówkę»
... a potem nastąpi cud.
a kilka nowych folderów powinna istnieć w folderze PDFBox. wymagane DLL są w folderze bin. nie wiem dlaczego, ale mam „-SNAPSHOT” i koniec wszystkich moich plików (PDF-1.6.0-SNAPSHOT.dll).IKVM.GNU.Classpath (zwana także IKVM.OpenJDK.Classpath) już nie istnieje, była modułowiona od wersji 0.40. Jest teraz dostępny w postaci kilku bibliotek dll IKVM.OpenJDK. Potrzebujesz tylko kilku z nich.
Utwórz nowy projekt w Visual Studio C#
skopiować te pliki z folderu bin PDFBox do folderu bin Visual C# folderze bin projektu:
pdfbox-1.6.0-SNAPSHOT.dll
fontbox-1.6.0-SNAPSHOT.dll
commons-logging.dll
skopiować te pliki z kosza iKVM do folderu bin Twojego C# Wizualnej folderze bin projektu:
IKVM.OpenJDK.Core.dll
IKVM.OpenJDK.SwingAWT.dll
IKVM.OpenJDK.Text.dll
IKVM.OpenJDK.Util.dll
IKVM.Runtime.dll
Dodaj odniesienia do dll iKVM tych powyżej i budować swój projekt.
Dodaj odniesienie do biblioteki pdfbox i ponownie zbuduj projekt.
Jesteś teraz gotowy do napisania kodu. Prosty przykład poniżej wygenerował ładny plik tekstowy z wejściowego pliku pdf.
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);
}
}
}
}
Jak to się ma do java i lucene? – Manish
PDFBox jest napisany w Javie i jest często używany w połączeniu z Lucene. Próbuję użyć aplikacji Java w .Net przy użyciu IKVM. – SharpBarb