ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
PDF(ポータブルドキュメントフォーマット)ファイルはドキュメント交換で広く使用されており、その内容をプログラムで読み取る能力はさまざまなアプリケーションにおいて貴重です。 C#でPDFを読むために以下のライブラリが利用可能です:Poppler、Mupdf、HaruフリーPDFライブラリ、Xpdf、Qpdf。
この記事では、Xpdfコマンドラインツールを使用してC#でPDFファイルを読み取る方法を探ります。 Xpdfは、PDFファイルのテキスト内容を抽出するなど、PDFファイルを操作するためのさまざまなユーティリティを提供しています。 XpdfをC++プログラムに統合することで、PDFファイルからテキストを抽出し、プログラム的に処理することができます。
Xpdfは、PDFを操作するためのツールとライブラリのコレクションを提供するオープンソースのソフトウェアスイートです。(ポータブルドキュメントフォーマット)ファイル Xpdfスイートには、PDF関連の機能(パース、レンダリング、テキスト抽出など)を可能にするコマンドラインユーティリティやC++ライブラリが含まれています。 Xpdfの主要コンポーネントには、pdfimages、pdftops、pdfinfo、pdfimagesがあります。 ここでは、PDF文書を読むために pdftotext
を使用します。
pdftotext
は、PDFファイルからテキストコンテンツを抽出し、それをプレーンテキストとして出力するコマンドラインツールです。 このツールは、さらなる処理や分析のためにPDFからテキスト情報を抽出する際に特に役立ちます。 オプションを使用して、テキストを抽出するページまたはページを指定することもできます。
テキストを抽出するためのPDFリーダープロジェクトを作成するには、次の前提条件を整える必要があります:
システムにインストールされたGCCまたはClangなどのC++コンパイラ。 C++プログラミングをサポートする任意のIDEを使用できます。
まず、main.cppファイルの上部に必要なヘッダーファイルを追加しましょう:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iostream>
#include <fstream>
C++のコードを書いて、Xpdfコマンドラインツールを呼び出し、PDFドキュメントからテキストコンテンツを抽出しましょう。 以下のinput.pdfファイルを使用します。
コード例は次のようになります:
// Include C library
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
int main() {
string pdfPath = "input.pdf";
string outputFilePath = "output.txt";
string command = "pdftotext " + pdfPath + " " + outputFilePath;
int status = system(command.c_str());
if (status == 0) {
cout << "Text extraction successful." << endl;
} else {
cout << "Text extraction failed." << endl;
return 1;
}
ifstream outputFile(outputFilePath);
if (outputFile.is_open()) {
string textContent;
string line;
while (getline(outputFile, line)) {
textContent += line + "\n";
}
outputFile.close();
cout << "Text content extracted from PDF document:" << endl;
cout << textContent << endl;
} else {
cout << "Failed to open output file." << endl;
return 1;
}
return 0;
}
// Include C library
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
int main() {
string pdfPath = "input.pdf";
string outputFilePath = "output.txt";
string command = "pdftotext " + pdfPath + " " + outputFilePath;
int status = system(command.c_str());
if (status == 0) {
cout << "Text extraction successful." << endl;
} else {
cout << "Text extraction failed." << endl;
return 1;
}
ifstream outputFile(outputFilePath);
if (outputFile.is_open()) {
string textContent;
string line;
while (getline(outputFile, line)) {
textContent += line + "\n";
}
outputFile.close();
cout << "Text content extracted from PDF document:" << endl;
cout << textContent << endl;
} else {
cout << "Failed to open output file." << endl;
return 1;
}
return 0;
}
上記のコードでは、入力PDFファイルへのパスを保持するため pdfPath
変数を定義しています。実際の入力PDFドキュメントの適切なパスに置き換えてください。
また、Xpdfによって生成される出力テキストファイルのパスを保持するために、outputFilePath
変数を定義します。
コードは、system
関数を使用して pdftotext
コマンドを実行し、入力PDFファイルのパスと出力テキストファイルのパスをコマンドライン引数として渡します。 status
変数はコマンドの終了ステータスをキャプチャします。
pdftotext
が正常に実行された場合(ステータスが0で示される)出力テキストファイルを ifstream
を使って開きます。 次に、テキストコンテンツを行ごとに読み取り、それを textContent
文字列に保存します。
最後に、生成された出力ファイルから抽出されたテキストコンテンツをコンソールに出力します。 編集可能な出力テキストファイルが不要な場合やディスクスペースを空けたい場合は、プログラムの最後に、メイン関数を終了する前に、次のコマンドを使用して削除してください:
remove(outputFilePath.c_str());
remove(outputFilePath.c_str());
C++コードをコンパイルして実行ファイルを実行してください。 pdftotext`が環境変数システムパスに追加されていれば、そのコマンドは正常に実行される。 プログラムは出力テキストファイルを生成し、PDFドキュメントからテキストコンテンツを抽出します。 抽出されたテキストは、コンソールに表示されます。
IronPDF C#ライブラリの概要は、PDFドキュメントを操作するための強力な機能を提供する人気のあるC# PDFライブラリです。 開発者がプログラムでPDFファイルを作成、編集、変更、および読み取ることを可能にします。
IronPDFライブラリを使用してPDFドキュメントを読むことは、簡単なプロセスです。 ライブラリーは、開発者がPDFページからテキスト、画像、メタデータ、その他のデータを抽出するためのさまざまなメソッドとプロパティを提供します。 抽出された情報は、アプリケーション内でさらに処理、分析、または表示するために使用できます。
次のコード例はIronPDFを使ってPDFファイルを読む:
// Rendering PDF documents to Images or Thumbnails
using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Extracting Image and Text content from Pdf Documents
// open a 128 bit encrypted PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Get all text to put in a search index
string text = pdf.ExtractAllText();
// Get all Images
var allImages = pdf.ExtractAllImages();
// Or even find the precise text and images for each page in the document
for (var index = 0 ; index < pdf.PageCount ; index++)
{
int pageNumber = index + 1;
text = pdf.ExtractTextFromPage(index);
List<AnyBitmap> images = pdf.ExtractBitmapsFromPage(index);
//...
}
// Rendering PDF documents to Images or Thumbnails
using IronPdf;
using IronSoftware.Drawing;
using System.Collections.Generic;
// Extracting Image and Text content from Pdf Documents
// open a 128 bit encrypted PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Get all text to put in a search index
string text = pdf.ExtractAllText();
// Get all Images
var allImages = pdf.ExtractAllImages();
// Or even find the precise text and images for each page in the document
for (var index = 0 ; index < pdf.PageCount ; index++)
{
int pageNumber = index + 1;
text = pdf.ExtractTextFromPage(index);
List<AnyBitmap> images = pdf.ExtractBitmapsFromPage(index);
//...
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
PDFドキュメントの読み方についての詳細情報はIronPDF C# PDFリーディングガイド.
この記事では、Xpdfコマンドラインツールを使用してC++でPDFドキュメントの内容を読み取る方法を学びました。 XpdfをC++プログラムに統合することで、PDFファイルからテキストコンテンツをプログラム的に1秒以内に抽出できます。 このアプローチにより、C++アプリケーション内で抽出されたテキストの処理および分析が可能になります。
IronPDFを探索するは、PDFファイルの読み取りと操作を容易にする強力なC#ライブラリです。 その豊富な機能、使いやすさ、信頼性の高いレンダリングエンジンにより、C#プロジェクトでPDF文書を扱う開発者に人気のある選択肢となっています。
IronPDFは開発用に無料で提供されており、商用利用のための無料トライアル. これに加えて、次の点になる必要があります。商用ライセンス.
9つの .NET API製品 オフィス文書用