Podpis razítka umožňuje elektronické podepisování PDF dokumentů stejným způsobem, jako používáme gumové podpisové razítko na papírovém dokumentu. Dokumenty PDF můžeme podepsat přizpůsobeným podpisem razítka programově v cloudu. V tomto článku se naučíme, jak podepisovat dokumenty PDF razítky pomocí REST API v Node.js.
Tento článek bude obsahovat následující témata:
PDF Signature REST API a Node.js SDK
Pro podepisování PDF dokumentů budeme používat Node.js SDK of GroupDocs.Signature Cloud API. Umožňuje nám vytvářet, ověřovat a vyhledávat různé typy podpisů, jako jsou obrazové, čárové kódy, QR-kódy, textové, digitální a razítkové podpisy. Nainstalujte jej pomocí následujícího příkazu v konzole:
npm install groupdocs-signature-cloud
Před provedením uvedených kroků získejte své ID klienta a tajný klíč z řídicího panelu. Jakmile budete mít své ID a tajemství, přidejte kód, jak je uvedeno níže:
// Tento příklad kódu ukazuje, jak do kódu přidat ID klienta a tajný klíč.
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const config = new groupdocs_signature_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";
Podepisujte dokumenty PDF pomocí REST API v Node.js
Dokumenty PDF můžeme podepsat v cloudu pomocí následujících jednoduchých kroků:
- Nahrát soubor do cloudu
- Podepisujte dokumenty PDF s podpisy razítek
- Stáhnout podepsaný soubor
Nahrajte dokument
Nejprve nahrajeme dokument PDF do cloudu pomocí příkladu kódu uvedeného níže:
// Tento příklad kódu ukazuje, jak nahrát soubor PDF do cloudu.
// Otevřete soubor v IOStream z místního disku/disku.
var resourcesFolder = 'C:\\Files\\Signature\\sample.pdf';
fs.readFile(resourcesFolder, (err, fileStream) => {
// Vytvořte FileApi
var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);
// Nahrát soubor
var request = new groupdocs_signature_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
fileApi.uploadFile(request);
});
V důsledku toho bude nahraný soubor PDF k dispozici v sekce souborů řídicího panelu v cloudu.
Podepisujte dokumenty PDF pomocí podpisů razítek pomocí Node.js
Soubory PDF můžeme podepsat podpisy razítek programově podle následujících kroků:
- Vytvořte instanci SignApi.
- Zadejte cestu k nahranému souboru PDF.
- Inicializujte objekt SignDigitalOptions a nastavte různé vlastnosti.
- Definujte text razítka pomocí objektů StampLine.
- Přiřaďte vstupní soubor, SignDigitalOptions a SaveOptions k objektu SignSettings.
- Nakonec podepište PDF pomocí metody SignApi.createSignatures().
Následující příklad kódu ukazuje, jak podepsat dokument PDF podpisy razítek pomocí REST API v Node.js.
// Tento příklad kódu ukazuje, jak podepsat dokument PDF pomocí razítek.
// Vytvořte instanci rozhraní API
let signApi = groupdocs_signature_cloud.SignApi.fromKeys(clientId, clientSecret);
// Vstupní cesta k souboru
let fileInfo = new groupdocs_signature_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";
// Definujte možnosti znakového razítka
let opts = new groupdocs_signature_cloud.SignStampOptions();
opts.signatureType = groupdocs_signature_cloud.OptionsBase.SignatureTypeEnum.Stamp;
// Nastavte polohu a velikost razítka na stránce
opts.left = 200;
opts.top = 400;
opts.width = 300;
opts.height = 300;
opts.locationMeasureType = groupdocs_signature_cloud.SignTextOptions.LocationMeasureTypeEnum.Pixels;
opts.sizeMeasureType = groupdocs_signature_cloud.SignTextOptions.SizeMeasureTypeEnum.Pixels;
opts.rotationAngle = 0;
opts.horizontalAlignment = groupdocs_signature_cloud.SignTextOptions.HorizontalAlignmentEnum.None;
opts.verticalAlignment = groupdocs_signature_cloud.SignTextOptions.VerticalAlignmentEnum.None;
// Přidejte vycpávku
opts.margin = new groupdocs_signature_cloud.Padding();
opts.margin.all = 5;
opts.marginMeasureType = groupdocs_signature_cloud.SignTextOptions.MarginMeasureTypeEnum.Pixels;
// Nastavení vzhledu razítka
opts.backgroundBarva = new groupdocs_signature_cloud.Barva();
opts.backgroundBarva.web = "DarkOrange";
opts.backgroundBarvaCropType = groupdocs_signature_cloud.SignStampOptions.BackgroundBarvaCropTypeEnum.OuterArea;
opts.backgroundImageCropType = groupdocs_signature_cloud.SignStampOptions.BackgroundImageCropTypeEnum.InnerArea;
// Definujte vzhled textu 1. obrysu
let outline1 = new groupdocs_signature_cloud.StampLine();
outline1.text = " * Electronically Signed by GroupDocs.Signature * ";
// Písmo
outline1.font = new groupdocs_signature_cloud.SignaturePísmo();
outline1.font.fontFamily = "Arial";
outline1.font.fontSize = 11;
outline1.font.bold = true;
outline1.textBottomIntent = 6;
// Barva
outline1.textBarva = new groupdocs_signature_cloud.Barva();
outline1.textBarva.web = "WhiteSmoke";
outline1.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.FullTextRepeat;
// Barva pozadí
outline1.backgroundBarva = new groupdocs_signature_cloud.Barva();
outline1.backgroundBarva.web = "DarkSlateBlue";
outline1.height = 22;
outline1.visible = true;
// Definujte vzhled textu 2. obrysu
let outline2 = new groupdocs_signature_cloud.StampLine();
outline2.height = 2;
outline2.backgroundBarva = new groupdocs_signature_cloud.Barva();
outline2.backgroundBarva.web = "White";
outline2.visible = true;
// Definujte vzhled textu 3. obrysu
let outline3 = new groupdocs_signature_cloud.StampLine();
outline3.text = " * GroupDocs.Signature * ";
// Písmo
outline3.font = new groupdocs_signature_cloud.SignaturePísmo();
outline3.font.fontFamily = "Arial";
outline3.font.fontSize = 16;
outline3.textBottomIntent = 8;
outline3.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.FullTextRepeat;
// Barva
outline3.textBarva = new groupdocs_signature_cloud.Barva();
outline3.textBarva.web = "DarkSlateBlue";
// Barva pozadí
outline3.backgroundBarva = new groupdocs_signature_cloud.Barva();
outline3.backgroundBarva.web = "White";
outline3.height = 30;
// Vnitřní hranice
outline3.innerBorder = new groupdocs_signature_cloud.BorderLine();
outline3.innerBorder.color = new groupdocs_signature_cloud.Barva();
outline3.innerBorder.color.web = "DarkSlateBlue";
outline3.innerBorder.style = groupdocs_signature_cloud.BorderLine.StyleEnum.Dot;
outline3.innerBorder.weight = 1.2;
// Vnější hranice
outline3.outerBorder = new groupdocs_signature_cloud.BorderLine();
outline3.outerBorder.color = new groupdocs_signature_cloud.Barva();
outline3.outerBorder.color.web = "DarkSlateBlue";
outline3.outerBorder.weight = 1.4;
outline3.visible = true;
opts.outerLines = [outline1, outline2, outline3];
// Definujte 1. vložený text
let innerline = new groupdocs_signature_cloud.StampLine();
innerline.text = "GroupDocs";
innerline.font = new groupdocs_signature_cloud.SignaturePísmo();
innerline.font.fontFamily = "Times New Roman";
innerline.font.fontSize = 20;
innerline.font.bold = true;
innerline.textBarva = new groupdocs_signature_cloud.Barva();
innerline.textBarva.web = "MediumVioletRed";
innerline.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline.height = 40;
innerline.visible = true;
// Definujte 2. vložený text
let innerline2 = new groupdocs_signature_cloud.StampLine();
innerline2.text = "Signature";
innerline2.font = new groupdocs_signature_cloud.SignaturePísmo();
innerline2.font.fontSize = 20;
innerline2.font.bold = true;
innerline2.textBarva = new groupdocs_signature_cloud.Barva();
innerline2.textBarva.web = "MediumVioletRed";
innerline2.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline2.height = 40;
innerline2.visible = true;
// Definujte 3. vložený text
let innerline3 = new groupdocs_signature_cloud.StampLine();
innerline3.text = "Cloud";
innerline3.font = new groupdocs_signature_cloud.SignaturePísmo();
innerline3.font.fontSize = 20;
innerline3.font.bold = true;
innerline3.textBarva = new groupdocs_signature_cloud.Barva();
innerline3.textBarva.web = "MediumVioletRed";
innerline3.textRepeatType = groupdocs_signature_cloud.StampLine.TextRepeatTypeEnum.None;
innerline3.height = 40;
innerline3.visible = true;
opts.innerLines = [innerline, innerline2, innerline3];
// Stránka ne, kde ukázat razítko
opts.page = 1;
// Definujte nastavení znaku
let settings = new groupdocs_signature_cloud.SignSettings();
settings.fileInfo = fileInfo;
settings.options = [opts];
settings.saveOptions = new groupdocs_signature_cloud.SaveOptions();
settings.saveOptions.outputFilePath = "signedStamp_One_page.pdf";
// Vytvořit žádost o podpis
let request = new groupdocs_signature_cloud.CreateSignaturesRequest(settings);
// Vytvářejte podpisy
let response = await signApi.createSignatures(request);
console.log("Output file link: " + response.downloadUrl);
Stáhněte si podepsaný soubor
Výše uvedená ukázka kódu uloží podepsaný soubor PDF do cloudu. Lze jej stáhnout pomocí následující ukázky kódu:
// Tento příklad kódu ukazuje, jak stáhnout podepsaný PDF z cloudu.
// Vytvořte FileApi
var fileApi = groupdocs_signature_cloud.FileApi.fromConfig(config);
// Stáhnout soubor
let request = new groupdocs_signature_cloud.DownloadFileRequest("signedStamp_One_page.pdf", myStorage);
let response = await fileApi.downloadFile(request);
// Přesunout do pracovní složky
fs.writeFile("C:\\Files\\Signature\\signedStamp_One_page.pdf", response, "binary", function (err) { });
Vyzkoušejte online
Vyzkoušejte prosím následující bezplatný online nástroj pro podpis dokumentů, který je vyvinut pomocí výše uvedeného API. https://products.groupdocs.app/signature/
Závěr
V tomto článku jsme se dozvěděli:
- jak podepisovat dokumenty PDF razítky;
- nahrát soubor PDF do cloudu;
- jak stáhnout podepsaný soubor PDF z cloudu.
Kromě toho se můžete dozvědět více o GroupDocs.Signature Cloud API pomocí dokumentace. Poskytujeme také sekci API Reference, která vám umožní vizualizovat naše API a pracovat s nimi přímo prostřednictvím prohlížeče. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.