function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| Stream | PDF 데이터를 받을 TStream 값 |
| Option | TSaveOption. 저장 옵션: 일반 저장은 saNone, 증분 업데이트는 saIncremental, 전체 재작성 강제는 saNoIncremental, 저장하며 보안 제거는 saRemoveSecurity |
| PdfVersion | TPdfVersion 대상. 현재 버전을 유지하려면 pvUnknown 사용 |
function SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| FileName | string. 출력 파일 경로입니다. 같은 디렉터리의 임시 파일을 먼저 완성한 뒤 대상을 원자적으로 교체합니다 |
| Option | TSaveOption. 저장 옵션: saNone, saIncremental, saNoIncremental, saRemoveSecurity |
| PdfVersion | TPdfVersion 대상. 현재 버전을 유지하려면 pvUnknown 사용 |
True, 실패하면 False를 반환합니다현재 문서를 파일 경로나 TStream에 저장합니다
PdfVersion 파라미터는 출력 PDF 버전을 지정하며,
문서의 기존 버전을 유지하려면 pvUnknown을 넘기세요
스트림 압축은 Compressed 프로퍼티가 제어합니다. 고전 xref 재작성으로 완전한 교차 참조 의미를 유지할 수 없는 입력이라도 하이브리드 참조, xref 스트림, 오브젝트 스트림 입력은 보존됩니다
모든 전체(비증분) 저장은 배열 범위 항목이 문자 매핑과 모순되는 subset 폰트 ToUnicode CMap을 복구하므로, 다시 연 문서에서 U+00A0와 U+00AD 대신 원래의 공백과 하이픈이 추출됩니다. 증분 리비전, sparse 업데이트, 교차 참조 스트림 문서는 그대로 통과합니다
명시적 PDF 버전 검사는 활성 교차 참조 리비전 체인과 활성 오브젝트 스트림 멤버를 따르므로, 낡았거나 참조되지 않는 오브젝트 본문은 요청한 버전 게이트에 영향을 주지 않습니다
파일 오버로드는 압축, 후처리, 버전 검증이 실패하면 기존 대상 파일을 그대로 둡니다
v3.125.2 Windows V8 업데이트는 테스트된 packet 배열과 지원되는 single-stream XDP 하위 집합에서 필드 값의 정확한 지속성을 수선했습니다. 오래된 런타임은 single-stream 편집을 버리거나 불필요한 개행을 추가할 수 있습니다
XFA 출력은 받아들이기 전에 다시 열어 필요한 필드 값을 정확히 비교하세요. 공백을 잘라내어 지속성 차이를 감추면 안 됩니다
pv13은 상속된 page resource를 정규화하고 /ProcSet을 표준형으로 만들며, /BM /Normal, /SMask /None, /CA 1, /ca 1, /AIS false, /TK true를 포함한 초기 transparency-state 값만 제거합니다pv13은 활성 메타데이터 스트림을 거부합니다. /Type /Metadata와 XMP 컴포넌트 메타데이터는 PDF 1.4 이상이 필요합니다pv13은 문서 /EmbeddedFiles 이름 트리를 거부하되 PDF 1.4 이름 트리 항목을 쓰지 않는 오래된 임베디드 파일 스트림 참조는 유지합니다pv13은 문서 catalog의 /Lang 항목을 거부합니다. 문서 수준 자연어 식별은 PDF 1.4 이상이 필요합니다pv14 이하 대상은 문서 catalog의 /PageLayout /TwoPageLeft와 /TwoPageRight 값을 거부합니다. 두 페이지 레이아웃은 PDF 1.5 이상이 필요합니다pv14 이하 대상은 /BitsPerComponent 16인 이미지 XObject를 거부합니다. 16비트 이미지 컴포넌트는 PDF 1.5 이상이 필요합니다pv14 이하 대상은 이미지 XObject의 /SMaskInData 항목을 거부합니다. 임베드된 JPEG 2000 소프트마스크 채널은 PDF 1.5 이상이 필요합니다saIncremental과 함께 쓴 pv13은 EPdfError를 발생시킵니다. 정규화가 서명된 이전 리비전을 보존할 수 없기 때문입니다EPdfError를 발생시킵니다. 코어 버전 대상을 요청하기 전에 호출자가 보안을 제거해야 합니다/BaseVersion /1.7과 /ExtensionLevel 1 이상을 갖춘 /ADBE 개발자 확장이 필요합니다. PDF 1.7 선언만으로는 부족합니다RichMediaExecute 액션은 /BaseVersion /1.7과 /ExtensionLevel 3 이상을 갖춘 /ADBE 개발자 확장이 필요합니다/Type /Measure /Subtype /GEO 딕셔너리와 Projection 주석은 /BaseVersion /1.7과 /ExtensionLevel 3 이상을 갖춘 /ADBE 개발자 확장이 필요합니다/Annots 항목을 통해 도달하는 모든 직접·간접 주석 딕셔너리에는 필수인 /Subtype과 /Rect 항목이 있어야 합니다/OCProperties 검증에는 배열 /OCGs, 딕셔너리 /D, 존재할 때의 유효한 기본 /BaseState /ON과 /Intent /View 값, 배열 값의 /Configs, /ON, /OFF, /AS, /Order 항목이 요구됩니다/DecodeParms 사전 또는 항목 하나짜리 파라미터 배열에 선언된 PNG predictor를 디코딩하며, 여러 페이지 폼의 predictor 압축 교차 참조 스트림도 포함됩니다. 관련 없는 중첩 키가 스트림의 디코딩 파라미터를 덮어쓰지는 않습니다
// Save to file
Pdf.SaveAs('output.pdf');
// Save to stream
var MS: TMemoryStream;
MS := TMemoryStream.Create;
try
Pdf.SaveAs(MS);
MS.SaveToFile('output.pdf');
finally
MS.Free;
end;