메인 콘텐츠로 건너뛰기
이 객체는 여러 페이지를 포함할 수 있는 처리 대상 문서에 해당합니다. FRDocument 객체는 문서 페이지 컬렉션의 루트입니다. 각 페이지에는 열린 이미지와 이미지 layout이 포함됩니다. FRDocument 객체는 문서 처리에 필요한 모든 메서드를 제공합니다. 하나의 메서드(Process 메서드)만 사용해 문서를 처리할 수도 있고, 분석, 인식, 합성, 내보내기 단계를 순차적으로 수행하며 처리할 수도 있습니다. 일반적으로 이러한 모든 단계는 일반적인 문서 처리 시나리오에서 필수입니다. 자세한 내용은 해당 메서드 설명을 참조하십시오. FRDocument 객체 사용을 마친 후에는 이 객체에서 사용한 모든 리소스를 해제하십시오(Close 메서드 사용). 이 객체는 DocumentContentInfo 속성을 통해 작성자, 키워드, 주제, 제목 등 다양한 문서 속성에 접근할 수 있게 해줍니다. FRDocument 객체는 소위 “연결 가능한 객체”입니다. Windows용 FRE의 Visual Basic에서는 WithEvents로 선언할 수 있습니다. C++(지원되는 모든 운영 체제)에서는 이는 IConnectionPointContainer 인터페이스를 지원한다는 의미입니다. 처리 중 알림 이벤트를 받으려면 C++ 사용자는 IFRDocumentEvents 인터페이스에서 파생된 객체를 만든 다음 다음을 수행해야 합니다.
  • Linux 또는 macOS에서는 AdviseFREngineObject 전역 함수를 호출해 해당 객체를 FRDocument 객체에 advise합니다.
  • Windows에서는 표준 COM 방식을 사용해 해당 객체와 FRDocument 객체에 구현된 이벤트 소스 간 연결을 설정합니다.
Windows에서는 FRDocument 객체를 Visual Basic에서 WithEvents로 선언할 수도 있습니다. FRDocument 객체의 메서드는 특수한 송신 인터페이스를 통해 페이지 처리 진행 상황에 대한 정보를 보고합니다. 이러한 인터페이스는 IFRDocumentEvents(C++용)와 dispinterface DIFRDocumentEvents(Visual Basic용)입니다. Visual Basic 사용자는 이벤트 인터페이스 구현 세부 사항을 신경 쓸 필요가 없다는 점에 유의해야 합니다. 이 개발 플랫폼에서 이를 쉽게 처리할 수 있는 수단을 제공하기 때문입니다.

속성

,read-only

Engine 객체를 반환합니다.

, read-only

IFRDocument 객체에 할당된 메모리 크기를 반환합니다. 이 속성의 값은 바이트 단위입니다.

,read-only

문서의 페이지 컬렉션을 반환합니다.

,read-only

문서의 텍스트를 특수한 “일반 텍스트” 형식으로 반환합니다.

, read-only

인식된 문서의 기본 언어를 반환합니다. 이 속성에는 감지된 언어 컬렉션(DetectedLanguages 속성)에서 첫 번째 언어의 내부 이름이 포함됩니다.

이 속성은 자동 언어 감지를 활성화한 상태에서 인식을 수행한 경우에만 유효한 값을 가집니다(자세한 내용은속성 참조). 그렇지 않으면 빈 문자열을 반환합니다.

,read-only

인식된 문서에서 감지된 인식 언어 컬렉션에 대한 액세스를 제공합니다. 컬렉션의 언어는 출현 빈도 순으로 정렬되며, 가장 많이 출현한 언어부터 가장 적게 출현한 언어 순으로 나열됩니다.

이 속성은 자동 언어 감지를 활성화한 상태에서 인식을 수행한 경우에만 유효한 값을 가집니다(자세한 내용은속성 참조).

언어 목록은 인식 후에만 업데이트됩니다. 즉, 문서 레이아웃을 수동으로 편집하더라도 컬렉션은 변경되지 않습니다.

, read-only

문서의 논리적 구조가 최신 상태인지 여부를 나타냅니다. 이 속성이 TRUE이면 내보내기 전에 문서 합성을 수행해야 합니다. 그렇지 않으면 내보내기 중에 오류가 발생합니다.

이 속성은 Visual Components를 사용할 때 유용합니다. 사용자가 Visual Components의 GUI를 통해 문서의 페이지 순서나 수를 변경하면 문서의 논리적 구조가 유효하지 않게 됩니다. Visual Components에서 제공하는 명령을 사용하여 해당 문서를 내보내는 경우 Visual Components가 자동으로 문서를 합성합니다. 그러나 내보내기에 FineReader Engine API 메서드를 사용하는 경우에는 내보내기 전에 문서 합성을 직접 수행해야 합니다.

문서 구조뿐만 아니라 페이지 구조도 유효하지 않게 될 수 있습니다. 따라서 내보내기 전에 문서의 모든 페이지가 유효한 페이지 구조를 갖추고 있는지 확인해야 합니다(IFRPage::PageStructureOutOfDate속성 참조).

,읽기 전용

문서에서 감지된 명함 컬렉션에 액세스할 수 있습니다.

문서의 작성자, 키워드, 주제 및 title 정보를 포함하며, 문서 정보 사전을 저장합니다.

문서의 첨부 파일 컬렉션을 반환합니다. 첨부 파일은 입력 PDF 문서를 열 때 추출되며, 내보내는 동안 출력 PDF 파일에 첨부할 파일을 직접 추가할 수도 있습니다. 이 컬렉션의 모든 파일을 출력 PDF 파일에 첨부하려면속성을 TRUE로 설정합니다.

,읽기 전용

입력 PDF 파일 리소스에서 추출된 글꼴 이름 컬렉션을 반환합니다. 다른 형식의 파일을 열어 생성한 문서이거나 글꼴이 포함되지 않은 PDF 파일로부터 생성된 문서인 경우에는 빈 컬렉션이 반환됩니다.

, 읽기 전용

원본 파일 중 하나 이상이 디지털 서명된 PDF인지 여부를 나타냅니다.

해당 페이지의객체에 대한 참조가 없을 때, 이 객체들을 언로드하여 디스크에 저장할지 지정합니다.

Linux에서는 이 속성 값을 PFP_KeepInMemory로 설정하면 사용되지 않는 페이지의 이미지 문서와 레이아웃이 디스크에 저장되지 않습니다.

이 속성의 기본값은 PFP_Auto입니다.

macOS에서는 이 속성 값이 무시됩니다. 사용되지 않는 페이지의 이미지 문서와 레이아웃은 항상 디스크로 언로드됩니다.

Windows에서는 문서의 개별 페이지에 대한 ImageDocument 및 Layout 객체를 언로드하여 디스크에 저장하려면 해당 페이지에서IFRPage::Flush메서드를 사용합니다.

이 속성의 기본값은 PFP_Auto입니다.

ABBYY FineReader Engine internal format의 임시 이미지 파일이 저장되는 폴더의 경로를 지정합니다.

기본적으로 이 속성 값은 “%TEMP%\ABBYY FineReader Engine 12”입니다.

메서드

이름설명
AddImageDocumentImageDocument 객체로 표현되는 열린 이미지 하나를 문서에 추가합니다.
AddImageFile이미지 파일을 열고 해당 파일의 페이지를 문서에 추가합니다.
AddImageFileFromAttachment첨부 파일에 포함된 이미지 파일을 열고 해당 파일의 페이지를 문서에 추가합니다.
AddImageFileFromMemory사용자가 이전에 전역 메모리에 로드해 둔 이미지 파일을 열고, 해당 파일의 페이지를 문서에 추가합니다.
AddImageFileFromStream사용자가 구현한 입력 스트림에서 이미지 파일을 열고, 해당 파일의 페이지를 문서에 추가합니다.
AddImageFileWithPassword암호로 보호된 이미지 파일을 열고, 열린 파일에 해당하는 페이지를 문서에 추가합니다.
AddImageFileWithPasswordCallbackIImagePasswordCallback 인터페이스를 사용해 이미지 파일을 열고 열린 파일에 해당하는 페이지를 문서에 추가합니다.
AddPage문서에 페이지를 추가합니다.
Analyze문서의 모든 페이지에 대해 레이아웃 분석을 수행합니다.
AnalyzePages문서에서 지정된 페이지의 레이아웃 분석을 수행합니다.
CheckTextLayer지정된 문서 페이지에서 텍스트 레이어의 존재 여부와 신뢰성을 확인합니다.
CloseFRDocument 객체에서 사용한 모든 리소스를 해제하고, 객체를 초기 상태로 되돌립니다(IEngine::CreateFRDocument 메서드로 생성한 직후의 상태).
ConvertFromOldVersion이전 버전의 ABBYY FineReader Engine에서 저장된 FRDocument 객체의 콘텐츠를 지정된 폴더에서 불러옵니다.
Export문서를 외부 형식 파일로 저장합니다.
ExportPages지정한 페이지를 외부 형식 파일로 저장합니다.
ExportToMemory문서를 외부 형식으로 메모리에 저장합니다.
LoadFromFolderABBYY FineReader Engine 12로 저장된 FRDocument 객체의 콘텐츠를 지정된 폴더에서 불러옵니다.
Preprocess문서의 모든 페이지를 전처리합니다. 페이지 방향과 반전, 기하학적 왜곡을 보정하고, 필요한 경우 페이지를 분할합니다.
PreprocessPages문서의 지정된 페이지에 대해 전처리를 수행합니다. 페이지 방향, 반전, 기하학적 왜곡을 보정하고, 필요한 경우 페이지 분할을 수행합니다.
Process문서의 모든 페이지에 대해 전처리, 레이아웃 분석, 인식, 페이지 합성 및 문서 합성을 수행합니다.
ProcessPages문서에서 지정된 페이지에 대해 전처리, 레이아웃 분석, 인식, 페이지 합성 및 문서 합성을 수행합니다.
Recognize문서의 모든 페이지에 대해 인식 및 페이지 합성을 수행합니다.
RecognizePages문서에서 지정된 페이지에 대해 인식 및 페이지 합성을 수행합니다.
SaveToFolderFRDocument 객체의 콘텐츠를 지정된 폴더에 저장합니다.
SplitPages문서의 지정된 각 페이지를 여러 페이지로 분할합니다. 이 메서드는 페이지가 책의 양면 펼침이거나 여러 장의 명함 이미지가 포함된 경우에 유용합니다. 또한 페이지가 어떻게 분할되었는지에 대한 정보도 제공합니다.
Synthesize문서 내 모든 페이지에 대해 문서 합성을 수행합니다.
SynthesizePages문서 내 지정된 페이지에 대해 문서 합성을 수행합니다.
FRDocument 객체 다이어그램

출력 매개변수

이 객체는 엔진 객체의 CreateFRDocumentCreateFRDocumentFromImage 메서드의 출력 매개변수입니다.

입력 매개변수

이 객체는 다음 메서드의 입력 매개변수로 전달됩니다. FRDocument_VC

샘플

FREngine.IEngine engine;
// 문서 생성
FREngine.IFRDocument document = Engine.CreateFRDocument();
try {
 // 문서에 이미지 파일 추가
 document.AddImageFile( "D:\\Demo.tif", null, null );
 // 문서 인식
 document.Process( null );
 // 기본 매개변수로 RTF에 결과 저장
 document.Export( "D:\\Demo.rtf", FREngine.FileExportFormatEnum.FEF_RTF, null );
}
catch( Exception error )
{
 ...
}
finally {
 // 문서 닫기
 document.Close();
}
FREngine::IEnginePtr Engine;
// 문서 생성
FREngine::IFRDocumentPtr frDocument = Engine->CreateFRDocument();
try {
 // 문서에 이미지 파일 추가
 frDocument->AddImageFile( L"D:\\Demo.tif", 0, 0 );
 // 문서 인식
 frDocument->Process( 0 );
 // 기본 매개변수로 RTF에 결과 저장
 frDocument->Export( L"D:\\Demo.rtf", FREngine::FEF_RTF, 0 );
} catch( _com_error& e ) {
 ...
 // 문서 닫기
 frDocument->Close();
}
// 문서 닫기
frDocument->Close();
이 객체는 BatchProcessing(Linux/Windows용) 코드 샘플을 제외한 거의 모든 코드 샘플에서 사용됩니다.

참고 항목

FRPage IFRDocumentEvents ABBYY FineReader Engine의 병렬 처리 Working with Connectable Objects 속성 작업하기