Метод THotPDF.AddLoadedSignedSignatureField

Добавляет в загруженный документ поле подписи, готовое к подписанию. Поле несёт словарь подписи с зарезервированным местом под /ByteRange и /Contents, так что SignPDFWithPFX, PreparePDFForSigning и InsertSignatureHex могут подписать его после сохранения документа. Вместе с BeginIncrementalUpdate это способ получить вторую подпись в уже подписанном PDF

Объявление

function AddLoadedSignedSignatureField(PageIndex: Integer; X1, Y1, X2, Y2: Single;
  const AFieldName: AnsiString; ContentsBytes: Integer = 8192;
  const SubFilter: AnsiString = 'adbe.pkcs7.detached';
  const Reason: AnsiString = ''; const Location: AnsiString = '';
  const ContactName: AnsiString = ''): Integer;

Модуль

HPDFDoc

Параметры

ИмяНазначение
PageIndexОтсчитываемый от нуля индекс загруженной страницы, на которой размещается widget подписи
X1, Y1, X2, Y2Прямоугольник widget в пользовательской системе координат PDF (пункты, начало в левом нижнем углу); ширина и высота должны быть положительными
AFieldNameИмя нового поля подписи; оно не должно быть пустым и не должно уже существовать в документе
ContentsBytesБайты, зарезервированные под подпись CMS (записываются как вдвое большее число hex-цифр); их должно хватать на полную подпись, включая сертификаты и любой токен метки времени
SubFilterФормат подписи, например adbe.pkcs7.detached или ETSI.CAdES.detached
Reason, Location, ContactNameНеобязательные записи /Reason, /Location и /ContactInfo словаря подписи

Возвращаемое значение

Возвращает индекс нового поля формы или -1, когда PageIndex вне диапазона

Примечания по использованию

Пример

PDF := THotPDF.Create(nil);
try
  PDF.BeginIncrementalUpdate('Signed.pdf');
  PDF.AddLoadedSignedSignatureField(0, 300, 120, 500, 160, 'Approver', 8192,
    'adbe.pkcs7.detached', 'Approved');
  PDF.SaveIncrementalUpdate('Prepared.pdf');
finally
  PDF.Free;
end;
// Signs the reserved field; the first signature stays valid
THotPDF.SignPDFWithPFX('Prepared.pdf', 'SignedTwice.pdf', 'Signer.pfx', 'password');

Связанные API