C#のWindowsアプリケーションからAdobe Acrobat SDKを参照してPDFのテキスト抽出はできるのか?
Q&A
Closed
解決したいこと
C#のWindowsアプリケーションからAdobe Acrobat SDKを参照してPDFのテキスト抽出はできるのか?
例)
C#のWindowsアプリケーションでPDFから全ページのテキストを抽出する必要があり、
Aspose.PDF for .NETやiTextSharpでは抽出できたのですが
Adobe Acrobat SDKを使用して抽出できるのか知りたいです。
開発環境
Visual Studio 2022
.NET Framework 4.8
Windowsアプリケーション
試したこと
※AcrobatのCOMオブジェクトを使用するために、プロジェクトに"Acrobat"という名前のCOM参照を追加
Visual Studioのソリューションエクスプローラーでプロジェクトを右クリックし、"参照の追加"を選択します。次に、"COM"タブに移動し、"AAdobe Acrobat 10.0 Type Libraryといったエントリを見つけて選択
using Acrobat;
static string ExtractTextFromPdf(string filePath)
{
string extractedText = string.Empty;
// AcrobatのApplicationオブジェクトを作成します。
AcroAppClass acroApp = new AcroAppClass();
try
{
// PDFを開きます。
acroApp.OpenDocument(filePath);
// ページ数を取得します。
int pageCount = acroApp.GetNumPages();
// 各ページのテキストを抽出します。
for (int i = 0; i < pageCount; i++)
{
// ページを取得します。
AcroAVDoc avDoc = acroApp.GetActiveDoc();
AcroPDDoc pdDoc = (AcroPDDoc)avDoc.GetPDDoc();
AcroPDPage pdPage = (AcroPDPage)pdDoc.AcquirePage(i);
// テキストを抽出します。
AcroPDPageContent pageContent = (AcroPDPageContent)pdPage.GetContents();
extractedText += pageContent.GetText();
}
}
catch (Exception ex)
{
// エラーハンドリングを行います。
Console.WriteLine("テキストの抽出中にエラーが発生しました: " + ex.Message);
}
finally
{
// リソースを解放します。
acroApp.CloseAllDocs();
acroApp.Exit();
}
return extractedText;
}
発生している問題・エラー
上記のコードだと以下のようなエラーが出てビルドが通らないです。
そもそもWindowsアプリケーションからAdobe Acrobat SDKの参照は可能なのかを知りたいです。
Adobe Acrobat SDKについて文献を漁っているのですがWindowsアプリケーションから利用可能かが明記されている文献を探せずにおります。