procedure BeginPageObjectEditTransaction(AllowSignedDocument: Boolean = False);
function CommitPageObjectEditTransaction: Boolean;
procedure RollbackPageObjectEditTransaction;
property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus;
BeginPageObjectEditTransaction은 활성 문서의 크기가 제한된 재현 가능한 스냅샷을 캡처하고 트랜잭션을 현재 페이지에 묶습니다
콘텐츠 재생성이 지연되는 동안에도 페이지 객체 삽입, 제거, 변환, 속성, 콘텐츠 마크, 주석 객체, 주석 모양 변경은 네이티브 PDFium 연산 그대로 유지됩니다
CommitPageObjectEditTransaction은 하나라도 성공한 변경이 있을 때 FPDFPage_GenerateContent를 한 번 호출하고 True를 반환하며, 아무 변경이 없는 no-op 트랜잭션은 재생성 없이 False를 반환합니다
RollbackPageObjectEditTransaction은 지연된 변경을 직렬화하지 않고 검증된 기준 스냅샷을 복원합니다
TPdfPageObjectEditTransactionStatus는 Active, Dirty, 1 기반 PageNumber, 성공한 MutationCount, ContentGenerationCount를 보고합니다
최종 변경 및 재생성 카운터는 커밋 후에도 진단용으로 그대로 남습니다
AllowSignedDocument 승인이 필요합니다TPdfEditJournalOptions.MaxSnapshotBytes 안에 들어가야 합니다Pdf.BeginPageObjectEditTransaction;
try
Pdf.TransformPageObject(0, Matrix);
Pdf.SetPageObjectMarkParam(0, 0, Param);
Pdf.CommitPageObjectEditTransaction;
except
if Pdf.PageObjectEditTransactionStatus.Active then
Pdf.RollbackPageObjectEditTransaction;
raise;
end;