Podepište PDF s razítkem pomocí REST API v Node.js

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ů:

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);
Podepisujte dokumenty PDF pomocí podpisů razítek pomocí Node.js.

Podepisujte dokumenty PDF pomocí podpisů razítek pomocí Node.js.

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.

Viz také