THotPDF.LoadFromStream

THotPDF

 

Top  Previous  Next

스트림에서 기존 PDF 파일을 로드합니다.

 

Delphi syntax:

function LoadFromStream ( DocStream: TStream ): Integer;

function LoadFromStream ( DocStream: TStream; const Password: AnsiString ): Integer;

function LoadFromStream ( DocStream: TStream; AutoDecrypt: Boolean ): Integer;

 

C++ syntax:

int __fastcall LoadFromStream ( Classes::TStream* DocStream );

int __fastcall LoadFromStream ( Classes::TStream* DocStream, System::AnsiString Password );

int __fastcall LoadFromStream ( Classes::TStream* DocStream, bool AutoDecrypt );

 

Description

스트림에서 기존 PDF 문서를 로드하려면  LoadFromStream을 호출합니다. LoadFromStream 함수는 로드된 문서의 페이지 수를 반환합니다.

지원되는 RC4 및 AES Standard 암호화 PDF에는 password 오버로드를 사용하세요. HotPDF는 user 또는 owner 패스워드를 검증하고, seekable 스트림의 bounded trailer, xref, document-ID, encryption dictionary 범위에서 파일 키를 복구한 뒤, 로드된 문자열과 스트림을 메모리에서 복호화하고 로드된 암호화 상태를 지웁니다. 그러면 SaveLoadedDocument로 암호화되지 않은 사본을 저장할 수 있습니다. 패스워드 없이 로드하면 권위 있는 xref 오프셋으로 raw 암호화 객체를 확보해 두므로, 입력 스트림을 해제한 뒤에도 이후 DecryptLoadedDocument 호출에서 정확한 바이너리 security-handler 값을 쓸 수 있습니다. 지원되지 않는 암호화 리비전은 예외를 발생시킵니다. bounded 키 복구는 HotPDF v2.489.0부터, 파일 재읽기 없는 지연 복호화는 HotPDF v2.490.0부터 지원됩니다.

AutoDecrypt 오버로드는 viewer와 같은 방식으로 문서를 엽니다. AutoDecrypt가 True이고 문서가 빈 user 패스워드로 암호화되어 있다면, 이는 권한 제한만 두는 문서가 쓰이는 방식입니다, 패스워드 오버로드에 빈 패스워드를 준 것과 똑같이 메모리에서 복호화되므로 텍스트를 추출하고, 렌더링하고, 내보낼 수 있습니다. 이때 IsEncrypted는 False가 되고 이후 SaveLoadedDocument는 암호화되지 않은 사본을 기록합니다. 패스워드가 필요한 문서와 암호화되지 않은 문서는 일반 오버로드가 로드하듯 로드됩니다. 빈 패스워드로 문서가 열리는지는 같은 bounded 범위에서 먼저 확인하므로 문서를 두 번 로드하지 않습니다. AutoDecrypt가 False이면 이 오버로드는 일반 오버로드와 같습니다

기존 PDF 객체를 가져올 때 HotPDF는 name 값을 내부에 저장하기 전에 ISO 32000-1의 PDF name #XX 이스케이프 시퀀스를 디코딩합니다. /PANTONE#20216#20CVC, /lime#20Green, /The_Key_of_F#23_Minor 같은 name도 문서를 나중에 복사하거나 저장할 때 원래 의도한 바이트 값 그대로 유지됩니다

 

 

 

See also: LoadFromFile, LoadFromRandomAccessSource, DecryptLoadedDocument