Я наконец получил его на работу. Я обрисовал в общих чертах шаги, которым я следовал, чтобы получить рабочий пример. Я надеюсь, что кто-то найдет это полезным.
Загрузить Java JDK
Загрузить ИКВМ 0.42.0.6
Загрузить PDFBox 1.6.0-src.zip
Руководство по муравьям было полезно.
Я переименовал папки Ant и PDFBox, чтобы сократить их имена, и переместил их на диск C:
Вы должны настроить переменные среды. (Windows 7)
Щелкните правой кнопкой мыши Мой компьютер-> Свойства-> Дополнительные параметры системы-> Переменные среды
Я использовал приведенные ниже настройки, но ваши настройки будут различаться в зависимости от того, где вы установили Java и куда вы помещаете папки Ant и PDF Box.
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)
После того, как все вышеперечисленное выполнено, введите «ant» в командном окне, вы должны получить сообщение «build.xml not not!», Если все настроено правильно.
Отредактируйте файл build.xml в папке «pdfbox-1.6.0 \ pdfbox».
Найдите строку, которая имеет
Замените «.» На «Ваш путь к папке IKVM».
Я переместил IKVM в «C: \ IKVM», так что мой выглядит так:
Откройте командное окно и перейдите к «C: \ pdfbox-1.6.0 \ pdfbox» и введите «ant»
… и тогда происходит чудо.
Теперь в папке pdfbox должна быть куча новых папок. Необходимые DLL находятся в папке bin. Я не знаю почему, но я получил «-SNAPSHOT» и конец всех моих файлов (pdfbox-1.6.0-SNAPSHOT.dll).
IKVM.GNU.Classpath (также называемый IKVM.OpenJDK.Classpath) больше не существует, он был модульным с момента выпуска 0.40. Теперь он доступен в виде нескольких IKVM.OpenJDK. Вам нужно только несколько из них.
Создание нового проекта в Visual Studio C #
Скопируйте эти файлы из папки bin pdfBox в папку bin вашей папки bin проекта Visual C #:
pdfbox-1.6.0-SNAPSHOT.dll
fontbox-1.6.0-SNAPSHOT.dll
commons-logging.dll
Скопируйте эти файлы из папки bin ikvm в папку bin вашей папки bin проекта Visual C #:
IKVM.OpenJDK.Core.dll
IKVM.OpenJDK.SwingAWT.dll
IKVM.OpenJDK.Text.dll
IKVM.OpenJDK.Util.dll
IKVM.Runtime.dll
Добавьте ссылки на библиотеки IKVM выше и создайте свой проект.
Добавьте ссылку на dll pdfbox и снова соберите свой проект.
Теперь вы готовы написать код. В приведенном ниже простом примере был получен хороший текстовый файл из файла ввода 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);
}
}
}
}