PDFium Delphi Component Docs

SaveAsPdfR Метод

Компонент: TPdf  ·  Модуль: PDFium
Сохраняет текущий документ как файл, соответствующий PDF/R-1 (ISO 23504-1:2020, подмножеству PDF для передачи и хранения растровых изображений, используемому для отсканированных документов)

Syntax

function SaveAsPdfR(const FileName: string): Boolean; overload;
function SaveAsPdfR(const FileName: string; const Options: TPdfRSaveOptions): Boolean; overload;

Description

SaveAsPdfR сначала выполняет обычный SaveAs, а затем поверх сохранённых байтов накладывает инкрементальное обновление, прикрепляющее маркеры формата PDF/R-1. PDF/R-1 (ISO 23504-1:2020) — строгий транспортный поднабор PDF для растровых изображений, используемый TWAIN Working Group в процессах сканирования документов; он несёт фиксированный по размеру растровый буфер на страницу, поддерживает изображения bitonal / grayscale / RGB и только сжатие FlateDecode / CCITTFaxDecode / DCTDecode

Постобработка вписывает в сохранённый поток пять классов байтов:

Вывод остаётся побайтово идентичным результату базового SaveAs вплоть до конца исходного PDF; дописывается только инкрементальное обновление (а исходные каталог / Info подменяются урезанными версиями через перезапись с тем же номером объекта). Разница перегрузок только в том, как передаётся конфигурация: форма только с именем файла берёт TPdfRSaveOptions.Default с автозаполнением четырёх полей Info и DocumentId из FPDF_GetMetaText / FPDF_GetFileIdentifier

При успехе возвращается True

Remarks

Example

// Simple PDF/R-1 output; only meaningful when the source PDF is
// already a raster scan (one image per page, allowed filters only).
if Pdf1.SaveAsPdfR('C:\Scan.pdfr.pdf') then
  ShowMessage('Saved with PDF/R-1 markers');

// Validate to see whether structural rules are also satisfied
Pdf1.FileName := 'C:\Scan.pdfr.pdf';
Pdf1.Active := True;
if Pdf1.ValidatePdfR.IsCompliant then
  ShowMessage('PDF/R-1 conformant');

See Also

SaveAsPdfRToStream, ValidatePdfR, PdfRConformance, SaveAsPdfA, SaveAsPdfX