PDFium Delphi Component Docs

SaveAsPdfAToStream 메서드

컴포넌트: TPdf  ·  유닛: PDFium
SaveAsPdfA의 메모리 내 변형 — PDF/A-1b 출력을 디스크를 거치지 않고 임의의 TStream에 기록합니다

Syntax

function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): Boolean;

Description

SaveAsPdfAToStream는 SaveAsPdfA의 스트리밍 대응 함수입니다 — 동일한 PDF/A-1b 출력을 생성하지만 임시 파일을 거치지 않고 호출자가 제공한 임의의 탐색 가능한 TStream에 결과를 기록합니다. HTTP 업로드 파이프라인, BLOB 컬럼, 메모리 내 캐시 계층, 아카이브 컨테이너(ZIP / TAR), 또는 PDF/A 바이트가 디스크에 닿을 필요가 없는 모든 워크플로에 유용합니다

후처리 논리는 SaveAsPdfA(FileName, Options)와 동일합니다. 기본 SaveAs가 먼저 실행된 뒤, 증분 업데이트가 XMP 메타데이터 스트림(ISO 19005-1 6.7.3 / Cor.1 표 1에 따라 Document Information Dictionary를 XMP 형식으로 연결하고 6.7.8에 요구되는 pdfaid 확장 스키마 설명을 임베드합니다), 임베드된 ICC 프로파일을 참조하는 OutputIntent(기본 sRGB, Options.IccProfileData로 사용자 지정), 이들을 함께 연결하는 카탈로그 업데이트, 6.1.3이 요구하는 트레일러 /ID 배열을 주입합니다. 비어 있는 Options 필드는 FPDF_GetMetaText와 FPDF_GetFileIdentifier에서 자동으로 채워지므로 일반적인 호출자는 Conformance만 설정합니다

성공 시 True를 반환합니다. 출력 스트림은 마지막으로 기록된 바이트 다음 위치에 남습니다. 기본 SaveAs가 실패했거나 PDF/A 후처리를 추가할 수 없으면(일반적으로 원본 PDF가 암호화되어 있어 PDF/A가 금지하는 경우) False를 반환합니다

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfASaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := Default(TPdfASaveOptions);
    Opts.Conformance := pac1b;
    if Pdf1.SaveAsPdfAToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfA, ValidatePdfA, PdfAConformance, SaveAs