THotPDF.LoadFromFile

THotPDF

 

Top  Previous  Next

Carga un archivo PDF existente

 

Sintaxis Delphi:

function LoadFromFile ( FileName: TFileName ): Integer;

function LoadFromFile ( FileName: TFileName; const Password: AnsiString ): Integer;

function LoadFromFile ( FileName: TFileName; AutoDecrypt: Boolean ): Integer;

 

Sintaxis C++:

int __fastcall LoadFromFile ( AnsiString FileName );

int __fastcall LoadFromFile ( AnsiString FileName, System::AnsiString Password );

int __fastcall LoadFromFile ( AnsiString FileName, bool AutoDecrypt );

 

Descripción

Llame a  LoadFromFile para cargar un archivo PDF existente. La función LoadFromFile devuelve el número de páginas del archivo cargado. Un archivo en el que no se puede encontrar ninguna página, como un archivo vacío o no PDF, devuelve 0 o lanza una excepción. Un archivo cifrado cuyas páginas están en object streams cifrados no puede producir resultados de página utilizables sin su contraseña válida; use la sobrecarga con contraseña

La configuración del stream de referencias cruzadas se lee desde sus propias claves de diccionario, incluidos los escapes de nombres PDF. Un diccionario /Encrypt directo anidado aporta los parámetros del manejador de seguridad sin anular el /Length, /Filter, /W o /Index del stream exterior ni las referencias del trailer. Esto soporta documentos AES-256 revisión 6 genuinos con xref streams sin filtrar y object streams cifrados

Los parámetros de predictor PNG en /DecodeParms también resuelven nombres PDF escapados y rechazan claves semánticas duplicadas. El marcador del xref stream se localiza tras el diccionario exterior completo, de modo que los nombres, las cadenas y los comentarios que contienen stream no se convierten en fronteras del payload. La lectura consume solo el fin de línea requerido tras el marcador y preserva un primer byte de payload con valor de espacio en blanco

Los archivos locales en o por encima de LocalFileMappingThreshold usan mapeo de memoria por ventanas acotado con una caché LRU de ventanas compartida para las lecturas del parser y rangos de streams perezosos inmutables. Configure la geometría del mapeo con LocalFileMappingWindowSize y LocalFileMappingCacheWindows; asigne cero al umbral para conservar la ruta TFileStream. Los fallos de mapeo caen automáticamente al respaldo. Los archivos más pequeños, y todos los archivos cuando el mapeo está desactivado o falla, se leen mediante un búfer de lectura de 64 KB sobre el stream del archivo

Use la sobrecarga con contraseña para los PDFs Standard cifrados RC4 y AES soportados. HotPDF valida la contraseña de usuario o de propietario, recupera la clave del archivo desde rangos acotados del trailer, xref, ID de documento y diccionario de cifrado, descifra en memoria las cadenas y streams cargados, limpia el estado de cifrado cargado y permite que SaveLoadedDocument escriba una copia sin cifrar. La carga sin contraseña captura el objeto de cifrado crudo por su offset xref autoritativo, de modo que una llamada posterior a DecryptLoadedDocument pueda usar los valores binarios exactos del manejador de seguridad sin reabrir el archivo. Las revisiones de cifrado no soportadas lanzan una excepción. La recuperación acotada de claves está disponible desde HotPDF v2.489.0, y el descifrado diferido sin relectura desde HotPDF v2.490.0

La sobrecarga AutoDecrypt abre los documentos como lo hacen los viewers. Cuando AutoDecrypt es True y el documento está cifrado con una contraseña de usuario vacía —así se escriben los documentos que solo restringen permisos—, se descifra en memoria exactamente como lo haría la sobrecarga con contraseña y una contraseña vacía, de modo que su texto puede extraerse, renderizarse y exportarse; IsEncrypted pasa a ser False y un SaveLoadedDocument posterior escribe una copia sin cifrar. Un documento que necesita contraseña, igual que uno sin cifrar, se carga como lo carga la sobrecarga simple. Que la contraseña vacía abra el documento se comprueba primero desde los mismos rangos acotados, sin cargar el documento dos veces. Con AutoDecrypt a False la sobrecarga es la simple

Al importar objetos PDF existentes, HotPDF decodifica las secuencias de escape #XX de nombres PDF de ISO 32000-1 antes de almacenar internamente los valores de nombres. Nombres como /PANTONE#20216#20CVC, /lime#20Green y /The_Key_of_F#23_Minor se conservan como sus valores de bytes previstos cuando el documento se copia o guarda más tarde

 

 

Véase también: Mapeo de archivo local por ventanas, LoadFromStream, DecryptLoadedDocument