function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| Stream | Valor TStream que recibe los datos PDF |
| Option | TSaveOption. Opción de guardado: saNone para un guardado normal, saIncremental para una actualización incremental, saNoIncremental para forzar una reescritura completa, o saRemoveSecurity para eliminar la seguridad al guardar |
| PdfVersion | TPdfVersion de destino; use pvUnknown para preservar la versión actual |
function SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| FileName | string. La ruta del archivo de salida. Primero se completa un archivo temporal hermano y luego reemplaza atómicamente el destino |
| Option | TSaveOption. Save option: saNone, saIncremental, saNoIncremental, or saRemoveSecurity |
| PdfVersion | TPdfVersion de destino; use pvUnknown para preservar la versión actual |
True si el documento se guardó correctamente, o False en caso de falloGuarda el documento actual a una ruta de archivo o a un TStream
El parámetro PdfVersion especifica la versión PDF de salida; pase pvUnknown para conservar la versión existente del documento
La propiedad Compressed controla la compresión de flujos. Las entradas de referencia híbrida, flujo xref y flujo de objetos se preservan cuando una reescritura de xref clásico no puede retener su semántica de referencias cruzadas completa
Cada guardado completo (no incremental) repara los CMap ToUnicode de fuentes subset cuyas entradas de rango de matriz contradicen sus mapeos de caracteres, de modo que un documento recargado extrae los espacios y guiones originales en lugar de U+00A0 y U+00AD; las revisiones incrementales, las actualizaciones dispersas y los documentos con flujo de referencias cruzadas pasan sin cambios
Las comprobaciones explícitas de versión PDF siguen la cadena de revisión de referencias cruzadas activa y los miembros de flujo de objetos activos, de modo que los cuerpos de objeto obsoletos o no referenciados no afectan a la compuerta de versión solicitada
La sobrecarga de archivo deja un destino existente sin cambios si la compresión, el posprocesamiento o la validación de versión fallan
La actualización V8 de Windows de la v3.125.2 repara la persistencia exacta de los valores de campo para las matrices de paquetes probadas y el subconjunto XDP de flujo único soportado; los runtimes anteriores pueden descartar las ediciones de flujo único o introducir saltos de línea extra
Vuelva a abrir la salida XFA y compare los valores de campo requeridos de forma exacta antes de aceptarla; no recorte los espacios en blanco para ocultar una diferencia de persistencia
pv13 normaliza los recursos de página heredados, canonicaliza /ProcSet y elimina solo los valores iniciales de estado de transparencia, incluidos /BM /Normal, /SMask /None, /CA 1, /ca 1, /AIS false y /TK truepv13 rechaza los flujos de metadatos activos porque /Type /Metadata y los metadatos de componentes XMP requieren PDF 1.4 o posteriorpv13 rechaza los árboles de nombres /EmbeddedFiles del documento, aunque conserva las referencias anteriores a flujos de archivos incrustados que no usan la entrada de árbol de nombres de PDF 1.4pv13 rechaza la entrada /Lang del catálogo del documento, porque la identificación de idioma natural a nivel de documento requiere PDF 1.4 o posteriorpv14 y anteriores rechazan los valores /PageLayout /TwoPageLeft y /TwoPageRight del catálogo del documento, porque las disposiciones de dos páginas requieren PDF 1.5 o posteriorpv14 y anteriores rechazan los XObjects de imagen con /BitsPerComponent 16, porque los componentes de imagen de 16 bits requieren PDF 1.5 o posteriorpv14 y anteriores rechazan las entradas /SMaskInData de XObjects de imagen, porque los canales de soft-mask JPEG 2000 incrustados requieren PDF 1.5 o posteriorpv13 con saIncremental lanza EPdfError, porque la normalización no puede preservar las revisiones previas firmadasEPdfError; quien llame debe retirar la seguridad antes de solicitar una versión central concreta/ADBE con /BaseVersion /1.7 y /ExtensionLevel 1 o posterior; una declaración PDF 1.7 a secas no bastaRichMediaExecute requieren una extensión de desarrollador /ADBE con /BaseVersion /1.7 y /ExtensionLevel 3 o posterior/Type /Measure /Subtype /GEO y las anotaciones Projection requieren una extensión de desarrollador /ADBE con /BaseVersion /1.7 y /ExtensionLevel 3 o posterior/Annots de página debe contener las entradas /Subtype y /Rect obligatorias/OCProperties del catálogo exige la matriz /OCGs, el diccionario /D, valores predeterminados válidos /BaseState /ON y /Intent /View cuando están presentes, y entradas con valor de matriz en /Configs, /ON, /OFF, /AS y /Order/DecodeParms directo del flujo o en su matriz de parámetros de una sola entrada, incluidos los flujos de referencias cruzadas comprimidos con predictor en formularios multipágina; las claves anidadas no relacionadas no invalidan los parámetros de decodificación del flujo
// Guardar en archivo
Pdf.SaveAs('output.pdf');
// Guardar en flujo
var MS: TMemoryStream;
MS := TMemoryStream.Create;
try
Pdf.SaveAs(MS);
MS.SaveToFile('output.pdf');
finally
MS.Free;
end;