「MonoでPDFからテキストを抽出する」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「PDFからテキストを抽出したい。 ==実装例1== iTextSharpでテキストの抽出も出来るようだ。 新規にPDFを生成するだけだと思って...」) |
Administrator (トーク | 投稿記録) 細 (Administrator がページ「Mono/PDFからテキストを抽出する」を「MonoでPDFからテキストを抽出する」に移動しました) |
(相違点なし)
|
2020年12月23日 (水) 03:09時点における最新版
PDFからテキストを抽出したい。
実装例1[編集 | ソースを編集]
iTextSharpでテキストの抽出も出来るようだ。 新規にPDFを生成するだけだと思っていたよ。 すごいぞiTextSharp。
Mac上のXamarin StudioでNuGetからiTextSharpを入れて試してみたがMonoでも問題なく動くようだ。 今のところ互換性問題やプラットフォーム依存はないと思われるのでMonoMacなんかでも大丈夫だと思う。
using System;
using System.IO;
using System.Linq;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
class MainClass
{
public static void Main(string[] args)
{
var filename = "test.pdf";
using (var pdfReader = new PdfReader(filename))
{
var strategy = new SimpleTextExtractionStrategy();
for (int pageNum = 1; pageNum <= pdfReader.NumberOfPages; pageNum++)
{
// 1ページまるごとテキスト化
var text = PdfTextExtractor.GetTextFromPage(pdfReader, pageNum, strategy);
// 行単位に分割
var lines = text.Split('\n');
for (int lineNum = 1; lineNum <= lines.Length; lineNum++)
{
var line = lines[lineNum - 1];
Console.WriteLine("{0:D2}:{1:D2}|{2}", pageNum, lineNum, line);
}
}
}
}
}