У меня есть pdf-файл, обработанный, вероятно, с помощью Adobe Professional, и некоторые дополнительные правки, которые нельзя отменить. У меня есть оригинальный pdf без OCR или каких-либо других правок.
Теперь я хочу включить OCR-текст в исходную копию.
Вы упомянули о желании использовать библиотеку для реализации этого типа распознавания в вашем собственном коде. Я бы предложил использовать LEADTOOLS OCR, это коммерческий SDK для оптического распознавания символов. SDK LEADTOOLS OCR доступен как для C, так и для C++. Я собрал простой фрагмент кода, используя библиотеки C, которые принимают растровое изображение и распечатывают текст.
BITMAPHANDLE bitmap = { 0 };
L_OcrEngine ocrEngine = NULL;
L_OcrPage ocrPage = NULL;
L_OcrDocumentManager ocrDocumentManager = NULL;
L_OcrDocument ocrDocument = NULL;
L_OcrEngineManager_CreateEngine(L_OcrEngineType_Advantage, &ocrEngine);
L_OcrEngine_Startup(ocrEngine, NULL, OCR_ADVANTAGE_RUNTIME_DIR);
L_LoadBitmap("Path to Bitmap", &bitmap, sizeof(BITMAPHANDLE), 0, ORDER_RGB, NULL, NULL);
L_OcrPage_FromBitmap(ocrEngine, &ocrPage, &bitmap, L_OcrBitmapSharingMode_AutoFree, NULL, NULL);
L_OcrPage_AutoZone(ocrPage, NULL, NULL);
retCode = L_OcrPage_Recognize(ocrPage, NULL, NULL);
L_WCHAR* text = NULL;
L_UINT textLength = 0;
L_OcrPage_GetText(ocrPage, -1, &text, &textLength);
printf("%ls", text);
В качестве альтернативы вы можете сохранить результаты непосредственно в PDF или в поддерживаемый формат документа:
L_OcrDocument ocrDocument = NULL;
L_OcrDocument_Save(ocrDocument, outputPath, DOCUMENTFORMAT_PDF, NULL, NULL);
Вы можете найти больше кода и информации на их справочном сайте .
Я использую Microsoft OneNote в качестве инструмента OCR. При щелчке правой кнопкой мыши по изображению он может копировать весь текст в изображениях, а также имеет возможность искать текст в изображении. Он бесплатный и точный, работает в Windows и поддерживает практически все форматы изображений.
Вы можете скопировать текст внутри и вставить его в текстовый документ.
Он может искать содержимое в PDF-файлах.
Я не уверен, работает ли это в Ubuntu или нет через Wine, поскольку Microsoft Office теперь доступен для Mac OS, OneNote будет работать на нем.
Бонус в том, что он поддерживает несколько языков :) Английский, французский, испанский также
Иззи
/help/on-topic
страницу). Если вы ищете какую-то часть программного обеспечения для выполнения этой работы, потребуется некоторая перефразировка. См. Что требуется, чтобы вопрос содержал «достаточно информации»? для исходного руководства.Тим
Иззи
Немо