ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
C# OCRライブラリ
using IronOcr;
string imageText = new IronTesseract().Read(@"images\image.png").Text;
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// OCR entire document
ocrInput.LoadPdf("example.pdf", Password: "password");
int[] pages = { 1, 2, 3, 4, 5 };
// Alternatively OCR selected page numbers
ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\imageWithBarcode.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.Arabic;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(@"images\arabic.gif");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
// Example with a Custom Trained Font Being used:
var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);
using (var ocrInput = new OcrInput())
{
ocrInput.LoadPdf(@"images\mixed-lang.pdf");
var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
ocrInput.Deskew();
ocrInput.DeNoise();
ocrInput.Despeckle();
ocrInput.EnhanceResolution(225);
ocrInput.Sharpen();
ocrInput.Erode();
ocrInput.Dilate();
ocrInput.Scale(200);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
// Fast Dictionary
ocrTesseract.Language = OcrLanguage.EnglishFast;
// Turn off unneeded options
ocrTesseract.Configuration.ReadBarCodes = false;
// Assume text is laid out neatly in an orthogonal document
ocrTesseract.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// First load all image(s)
ocrInput.LoadImage(@"images\image.png");
// Note: You don't need all of them; most users only need Deskew() and occasionally DeNoise()
ocrInput.WithTitle("My Document");
ocrInput.Binarize();
ocrInput.Contrast();
ocrInput.Deskew();
ocrInput.DeNoise();
ocrInput.Despeckle();
ocrInput.Dilate();
ocrInput.EnhanceResolution(300);
ocrInput.Invert();
ocrInput.Rotate(90);
ocrInput.Scale(150);
ocrInput.Sharpen();
ocrInput.ToGrayScale();
ocrInput.Erode();
// WIZARD - If you are unsure use the debug-wizard to test all combinations:
string codeToRun = OcrInputFilterWizard.Run(@"images\image.png", out double confidence, ocrTesseract);
Console.WriteLine(codeToRun);
// Optional: Export modified images so you can view them.
foreach (var page in ocrInput.GetPages())
{
page.SaveAsImage($"filtered_{page.Index}.bmp");
}
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using IronSoftware.Drawing;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage("blue_and_pink.png");
ocrInput.WithTitle("Recolored");
ocrInput.ReplaceColor(Color.Pink, Color.White, 10);
// Pink detection has 10% tolerance
ocrInput.ReplaceColor(Color.Blue, Color.Black, 5);
// Blue detection has 5% tolerance
// Export the modified image so you can manually inspect it.
foreach (var page in ocrInput.GetPages())
{
page.SaveAsImage($"black_and_white_page_{page.Index}.bmp");
}
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using IronSoftware.Drawing;
// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
// Page object
int PageNumber = page.PageNumber;
string PageText = page.Text;
int PageWordCount = page.WordCount;
// null if we dont set Ocr.Configuration.ReadBarCodes = true;
OcrResult.Barcode[] Barcodes = page.Barcodes;
AnyBitmap PageImage = page.ToBitmap(ocrInput);
int PageWidth = page.Width;
int PageHeight = page.Height;
double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()
foreach (var paragraph in page.Paragraphs)
{
// Pages -> Paragraphs
int ParagraphNumber = paragraph.ParagraphNumber;
string ParagraphText = paragraph.Text;
AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
int ParagraphX_location = paragraph.X;
int ParagraphY_location = paragraph.Y;
int ParagraphWidth = paragraph.Width;
int ParagraphHeight = paragraph.Height;
double ParagraphOcrAccuracy = paragraph.Confidence;
OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
foreach (var line in paragraph.Lines)
{
// Pages -> Paragraphs -> Lines
int LineNumber = line.LineNumber;
string LineText = line.Text;
AnyBitmap LineImage = line.ToBitmap(ocrInput);
int LineX_location = line.X;
int LineY_location = line.Y;
int LineWidth = line.Width;
int LineHeight = line.Height;
double LineOcrAccuracy = line.Confidence;
double LineSkew = line.BaselineAngle;
double LineOffset = line.BaselineOffset;
foreach (var word in line.Words)
{
// Pages -> Paragraphs -> Lines -> Words
int WordNumber = word.WordNumber;
string WordText = word.Text;
AnyBitmap WordImage = word.ToBitmap(ocrInput);
int WordX_location = word.X;
int WordY_location = word.Y;
int WordWidth = word.Width;
int WordHeight = word.Height;
double WordOcrAccuracy = word.Confidence;
foreach (var character in word.Characters)
{
// Pages -> Paragraphs -> Lines -> Words -> Characters
int CharacterNumber = character.CharacterNumber;
string CharacterText = character.Text;
AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
int CharacterX_location = character.X;
int CharacterY_location = character.Y;
int CharacterWidth = character.Width;
int CharacterHeight = character.Height;
double CharacterOcrAccuracy = character.Confidence;
// Output alternative symbols choices and their probability.
// Very useful for spellchecking
OcrResult.Choice[] Choices = character.Choices;
}
}
}
}
}
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\page1.png");
ocrInput.LoadImage(@"images\page2.bmp");
var page = new int[]{ 2, 3 };
ocrInput.LoadImageFrames(@"images\page3.tiff", page);
ocrInput.Deskew();
var ocrResult = ocrTesseract.Read(ocrInput);
ocrResult.SaveAsSearchablePdf("searchable.pdf");
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
// This is done by default and can be omitted:
// ocrTesseract.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract()
{
Language = OcrLanguage.EnglishBest,
Configuration = new TesseractConfiguration()
{
ReadBarCodes = false,
RenderHocr = true,
BlackListCharacters = "`ë|^",
PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd,
}
};
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
using IronSoftware.Drawing;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// A 41% improvement on speed by specifiying a pixel region
var ContentArea = new Rectangle(x: 215, y: 1250, width: 1335, height: 280);
ocrInput.LoadImage("img/example.png", ContentArea);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImageFrame("images/multiframe.tiff", 1);
var ocrResult = ocrTesseract.Read(ocrInput);
ocrResult.SaveAsSearchablePdf("searchable.pdf");
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.TargetDPI = 300;
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("scan.pdf");
// Image processing is automatically multi-threaded
ocrInput.Deskew();
// OCR reading is automatically multi-threaded too
var ocrResult = ocrTesseract.Read(ocrInput);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.OcrProgress += (_, ocrProgressEventsArgs) =>
{
Console.WriteLine(ocrProgressEventsArgs.ProgressPercent + "% " + ocrProgressEventsArgs.Duration.TotalSeconds + "s");
};
using var input = new OcrInput();
input.LoadPdf("large.pdf");
// Progress events will fire during the read operation even if the main thread is blocked.
var result = ocrTesseract.Read(input);
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("images/multiframe.tiff", pages);
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
using IronOcr;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("scan.pdf", Password: "password");
// Clean up twisted pages
ocrInput.Deskew();
var ocrResult = ocrTesseract.Read(ocrInput);
ocrResult.SaveAsSearchablePdf("searchable.pdf");
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
//PM> Install-Package IronOcr.Languages.Arabic
//PM> Install-Package IronOcr.Languages.Chinese
using IronOcr;
using System;
var Ocr = new IronTesseract();
// Add a primary language (Default is English)
Ocr.Language = OcrLanguage.English;
// Add as many secondary languages as you like
Ocr.AddSecondaryLanguage(OcrLanguage.Arabic);
Ocr.AddSecondaryLanguage(OcrLanguage.ChineseSimplified);
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var Result = Ocr.Read(ocrInput);
Console.WriteLine(Result.Text);
using IronOcr;
using IronSoftware.Drawing;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
foreach (var word in page.Words)
{
word.ToBitmap(ocrInput).SaveAs($"page{page.PageNumber}_word{word.WordNumber}.png", AnyBitmap.ImageFormat.Png);
}
}
現代のデジタル環境において、OCR (光学式文字認識) の詳細を理解すること (光学文字認識) 文字認識は非常に重要です。 この記事は、OCR技術の複雑さとその実際の応用について分かりやすく解説するユーザーガイドの役割を果たしています。スキャンされたドキュメントやPDFファイルからテキストを認識する能力を含むOCR技術の詳細を分かりやすく説明しています。適切なOCRツールを選択し、その性能を向上させ、複雑なシナリオ(多言語や最適でないドキュメントなど)に対処するプロセスを案内します。 さらに、責任あるOCRの使用方法および倫理的考慮事項についても掘り下げています。 初心者でも既に概念に精通している方でも、このガイドはOCR機能を効果的に活用し、スキャンされたドキュメントからテキストを抽出することで、デジタル時代における作業を簡素化するための知識を提供します。 この目的のために IronOCR IronOCRは最高のOCRライブラリです。
印刷された文書や手書きのメモをスキャンして、即座に編集可能なデジタルテキストに変換できることを想像してみてください。 それがOCRの魔法です。 OCRは、パターン認識と機械学習アルゴリズムを使用して、画像やスキャンされた文書からテキストを認識および抽出する技術です。 これにより、印刷された資料を検索可能、編集可能、共有可能なデジタル形式に変換することができます。
OCR.space は、OCRの力を手の届くところに届ける最先端のオンラインプラットフォームです。 使いやすいインターフェースと強力なアルゴリズムを備えたOCR.spaceは、ユーザーが画像やスキャンされたドキュメントを簡単にテキストに変換できるようにし、効率的な情報管理のためのさまざまな可能性を開きます。 学生、プロフェッショナル、研究者、または印刷されたコンテンツを扱う誰にとっても、OCR.spaceはテキストのデジタル化プロセスを簡素化し、現代のデジタル時代において不可欠なツールとなります。
OCRを実行中 (光学文字認識) OCR.spaceウェブサイトを使用することで、スキャンされた画像やスキャンされた紙のドキュメントを編集可能なテキストに変換することが簡単にできます。 OCR.spaceウェブサイトを使用してOCRを実行するには次の手順に従ってください:
OCR.spaceウェブサイトにアクセスする:お好みのウェブブラウザーを開き、OCR.spaceウェブサイトに移動します。 https://ocr.space/.
画像をアップロードする: 「ファイルを選択」ボタンをクリックするか、ウェブサイトの指定されたエリアに画像を直接ドラッグ&ドロップしてください。画像はJPG、PNG、GIF、またはPDFの形式でアップロードできます。
OCRプロセスを開始する: 画像をアップロードし、オプション設定を構成した後、「OCR開始」をクリックします。!「ボタン」 OCR.spaceウェブサイトは、画像を処理して認識されたテキストを抽出します。
結果の確認とダウンロード: OCRプロセスが完了すると、抽出されたテキストがウェブサイトに表示されます。テキストの精度を確認して、手動でデータを入力することにより、必要な調整を行ってください。
ダウンロードテキスト: 結果に満足したら、「ダウンロード」ボタンをクリックして、抽出したテキストをコンピュータに保存してください。 選択した出力形式に応じて、プレーンテキストファイルまたは検索可能なPDFが生成されます。
結果を保存または共有:抽出されたテキストをコンピュータの希望の場所に保存するか、必要に応じて他の人と共有することができます。
以下は、OCR.spaceとOCRエンジンを使用して画像ファイルからテキストを抽出する方法です。
IronOCRは、光学文字認識(Optical Character Recognition)の分野において革新的なソリューションとして位置付けられています。 (OCR (光学式文字認識)) 知的文字認識、洗練性とユーザーフレンドリーさを兼ね備えています。 強力な機能を備えたIronOCRは、画像やスキャンされた文書を高精度で機械可読なテキストに変換することができます。 請求書の処理、印刷されたドキュメントや手書きのメモからのテキスト抽出、アーカイブ文書、またはデータ入力作業に関わらず、IronOCRの直感的なインターフェースと強力なアルゴリズムはプロセスを簡略化し、技術に詳しい専門家からOCR技術の初心者まで対応します。 このツールの視覚的コンテンツとデジタルテキストの間のギャップをシームレスに埋める能力は、あらゆる業界で情報のアクセス、操作、活用の方法を再構築しています。
以下のコマンドを実行するだけで、NuGetパッケージマネージャーコンソールを使用して簡単にIronOCRをインストールできます。もしくは、直接ダウンロードすることも可能です。 NuGet ウェブサイト.
Install-Package IronOcr
このセクションでは、IronOCRを使用して画像からテキストを簡単に抽出する方法をご紹介します。 以下のソースコードは、画像からテキストを抽出する方法を示しています。
using IronOcr;
using System;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage("r3.png");
OcrResult result = ocr.Read(input);
string text = result.Text;
Console.WriteLine(result.Text);
}
using IronOcr;
using System;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage("r3.png");
OcrResult result = ocr.Read(input);
string text = result.Text;
Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System
Private ocr = New IronTesseract()
Using input = New OcrInput()
input.AddImage("r3.png")
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
Console.WriteLine(result.Text)
End Using
自動テキスト認識または認識されたテキストの出力スクリーンショットはこちらです。
今日のデジタル時代において、光学文字認識(Optical Character Recognition)に関する確かな理解 (OCR (光学式文字認識)) テキスト認識は非常に重要であり、このガイドはその複雑さと応用方法を巧みに案内します。 OCRの機能解明から実用的なツールの選択、パフォーマンスの向上、倫理的な考慮事項に至るまで、このガイドはOCR.spaceやIronOCRのようなプラットフォームを巧みに活用するためにユーザーを支援します。 OCR.spaceを使用したテキスト抽出の手順を解説し、IronOCRの革新的な機能を紹介することにより、このガイドは初心者から専門家まで、OCRツールをワークフローに円滑に統合できるよう支援します。 最終的に、このガイドはスキャンされた文書からのテキスト抽出を簡略化する上でのOCRの重要な役割を強調し、ユーザーを高度なデジタル活用の時代に導きます。
ご提案した通り、 IronOCR は、視覚的なコンテンツとデジタルテキストをシームレスに統合し、さまざまな分野で情報のアクセス、操作、利用方法を革新する市場をリードするOCRソフトウェアです。 以下のページで、IronOCRに関する詳細なチュートリアルをご覧いただけます。 ウェブサイト.
PM > Install-Package IronOcr
30日間の試用キー 即座に。
15日間のトライアルキー 即座に。
あなたのトライアルキーはメールの中にあります。
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
IronOCRを実際のプロジェクトに無料で配備したいですか?
あなたのトライアルキーはメールの中にあります。試用フォームが送信されました
成功しました.
お問い合わせは、
support@ironsoftware.com
無料で始めましょう
クレジットカードは不要です
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
30日間のフル機能製品をお試しください。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
クレジットカードやアカウント作成は不要です。
あなたのトライアルキーはメールの中にあります。
お問い合わせは、
support@ironsoftware.com
無料で始めましょう
クレジットカードは不要です
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
30日間のフル機能製品をお試しください。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
クレジットカードやアカウント作成は不要です。
あなたのトライアルキーはメールの中にあります。
お問い合わせは、
support@ironsoftware.com
無料で始めましょう
クレジットカードは不要です
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
30日間のフル機能製品をお試しください。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
ありがとう!
ライセンスキーが指定されたメールアドレスに送られました。お問い合わせ
24時間アップグレードオファー:
Save 50% で
プロフェッショナル アップグレード
Go プロフェッショナル 10人の開発者をカバーするために
無制限のプロジェクト。
:
:
プロフェッショナル
$600 米ドル
$299 米ドル
2つの価格で5つの.NET製品
総合スイート価値:
$7,192 米ドル
アップグレード価格
本日
以下の内容を日本語に翻訳してください:
この操作を実行するには、最新のIronPDF for .NETをインストールする必要があります。インストール手順については、公式ウェブサイトのドキュメントを参照してください。
$499 米ドル
24時間後
$1,098 米ドル
9つの .NET API製品 オフィス文書用