Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
다음은 조기 바인딩을 사용하여 COM Interop을 통해 PDF 파일에서 텍스트를 추출하는 간단한 C++ 코드 샘플입니다. 샘플을 실행하기 전에 다음 사항에 유의하십시오.
// Cross-referenced type libraries:
하나 이상의 #import가 포함되어 있습니다. 이를 코드에 복사하여 기본 타입 라이브러리를 가져오기 전에 같은 순서로 수행하십시오. 이렇게 하면 첫 번째 유형의 문제를 피할 수 있습니다. 다음 유형의 문제는 C++ 환경에 많은 매크로, 미리 정의된 함수 등이 있어 타입 라이브러리 메서드와 충돌할 수 있다는 사실에서 발생합니다. 예를 들어, GetType은 C++에서 널리 사용되지만 Aspose.PDF에서도 사용됩니다. #import 지시문의 rename 및 auto_rename 속성이 가능한 경고 및 오류를 제거하는 데 매우 유용하다는 것을 알았습니다.
자세한 내용은 이 게시물을 참조하십시오.
C++ 예제
#include "stdafx.h"
#import "C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.tlb"
#import "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.tlb" auto_rename
#import "C:\Temp\Aspose.PDF.tlb" rename("GetType", "GetType_") auto_rename
using namespace System;
String ^earlyBinding(String ^file)
{
String ^text;
// Create ComHelper
Aspose_Pdf::_ComHelperPtr comHelperPtr;
HRESULT hr = comHelperPtr.CreateInstance(__uuidof(Aspose_Pdf::ComHelper));
if (FAILED(hr))
{
Console::WriteLine(L"Error occured");
}
else
{
// Set license
Aspose_Pdf::_LicensePtr licPtr;
licPtr.CreateInstance(__uuidof(Aspose_Pdf::License));
licPtr->SetLicense("C:\\Temp\\Aspose.PDF.lic");
licPtr.Release();
// Get Document
Aspose_Pdf::_DocumentPtr docPtr;
docPtr = comHelperPtr->OpenFile((BSTR)System::Runtime::InteropServices::Marshal::StringToBSTR(file).ToPointer());
comHelperPtr.Release();
// Create Absorber
Aspose_Pdf::_TextAbsorberPtr absorberPtr;
HRESULT hRes = absorberPtr.CreateInstance(__uuidof(Aspose_Pdf::TextAbsorber));
// Browse text
docPtr->GetPages()->Accept_4(absorberPtr);
// Retrieve text
BSTR extractedText = absorberPtr->GetText();
text = gcnew String(extractedText);
docPtr.Release();
absorberPtr.Release();
}
return text;
}
int main(array<System::String ^> ^args)
{
CoInitialize(NULL);
if (args->Length != 1)
{
Console::WriteLine("Missing parameters\nUsage:testCOM <pdf file>");
return 0;
}
String ^text = earlyBinding(args[0]);
CoUninitialize();
Console::WriteLine("Extracted text:");
Console::WriteLine("---\n{0}", text != nullptr ? text->Trim() : "<empty>");
Console::WriteLine("---");
return 0;
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.