PDFium Delphi Component Docs

Attachment Propiedad

Componente: TPdf  ·  Unidad: PDFium
Lee o reemplaza la carga útil de bytes en bruto del archivo incrustado a nivel de documento en el índice basado en cero especificado. Cada ranura corresponde a una entrada del árbol de nombres EmbeddedFiles del PDF definido en la sección 7.11 de la especificación PDF 1.7

Syntax

property Attachment[Index: Integer]: TBytes;

Description

Los documentos PDF pueden llevar archivos auxiliares arbitrarios (hojas de cálculo de origen, documentos Word originales, facturas adjuntas, cargas XML firmadas, paquetes ZIP, incluso otros PDF) dentro de un contenedor a nivel de documento llamado el árbol de nombres EmbeddedFiles. Cada entrada es un diccionario de especificación de archivo PDF cuyo flujo contiene los bytes reales del archivo adjunto. PDFium Delphi Component expone ese árbol como un índice plano de base 0 desde 0 hasta AttachmentCount - 1

Leer Attachment[Index] devuelve el contenido en bytes decodificado del archivo adjunto como una matriz TBytes, exactamente los bytes que cualquier otro lector PDF extraería cuando el usuario hace clic en el icono del clip y guarda el adjunto. Los bytes devueltos ya están descomprimidos; puede escribirlos directamente en disco, enviarlos a un flujo o volver a introducirlos en otra instancia de TPdf si el adjunto es a su vez un PDF

Escribir reemplaza el flujo de archivo de un espacio de adjunto existente en el lugar. El espacio ya debe existir; use CreateAttachment primero si necesita agregar una entrada nueva. Las escrituras se almacenan en memoria y solo se vuelven persistentes después de guardar el documento con SaveAs

Parameters

IndexInteger. Posición basada en cero en el árbol de nombres EmbeddedFiles. Debe cumplir 0 <= Index < AttachmentCount. Los índices coinciden con los que reportan AttachmentName y AttachmentType, de modo que iterar 0..AttachmentCount - 1 visita cada adjunto exactamente una vez

Remarks

Example

var
  I: Integer;
  Data: TBytes;
  OutPath: string;
begin
  Pdf1.LoadFromFile('with-attachments.pdf');
  for I := 0 to Pdf1.AttachmentCount - 1 do
  begin
    Data := Pdf1.Attachment[I];
    OutPath := 'extracted\' + Pdf1.AttachmentName[I];
    TFile.WriteAllBytes(OutPath, Data);
    Memo1.Lines.Add(Format('%s (%s, %d bytes)',
      [Pdf1.AttachmentName[I], Pdf1.AttachmentType[I], Length(Data)]));
  end;
end;

See Also

AttachmentCount, AttachmentName, AttachmentType, CreateAttachment, DeleteAttachment