Hantera erbjudandebrev för medarbetare

Banderoll för användningsfall

Erbjudandebrev till anställda är en av de första upplevelser som anställda har med din organisation. Därför vill du försäkra dig om att erbjudandebreven följer varumärket, men du vill inte behöva bygga en bokstav i ordbehandlingsprogrammet från början varje gång. Adobe Acrobat Services API:er erbjuder ett snabbt, enkelt och effektivt sätt att hantera viktiga delar av generera och leverera erbjudandebrev till nya medarbetare.

Vad du kan lära dig

Den här praktiska självstudiekursen går igenom hur du konfigurerar ett Node Express-projekt som visar ett webbformulär som en användare kan fylla i med information om anställda. De här uppgifterna använder Acrobat Services över webben för att skapa ett erbjudandebrev som PDF som kan levereras till en kund för signering med Adobe Sign API.

Relevanta API:er och resurser

Komma igång

Node.js är programmeringsplattformen. Den levereras med en enorm uppsättning bibliotek, såsom Express-webbservern. Hämta Node.js och följ stegen för att installera den här fantastiska utvecklingsmiljön med öppen källkod.

Om du vill använda Adobe-dokumentgenererings-API i Node.js går du till API för dokumentgenerering webbplats för att komma åt ditt konto eller registrera dig för ett nytt. Ditt konto är i sex månader och sedan betala per användning för bara $0,05 per dokumentöverföring, så att du kan testa det riskfritt sedan bara betala när ditt företag växer.

När du har loggat in på Adobe Developer Consoleklickar du på Skapa ett nytt projekt. Projektet heter som standard "Projekt 1". Klicka på Redigera projekt och ändra namnet till "Generator för erbjudandebrev". I mitten av skärmen finns en Kom igång med ditt nya projekt -sektionen. Så här aktiverar du säkerhet i ett projekt:

Klicka Lägg till API. Du ser ett antal API:er att välja mellan. I dialogrutan Filtrera efter produkt -sektionen väljer du Document Cloud och klicka sedan på Nästa.

Generera sedan autentiseringsuppgifter för att få åtkomst till API:et. Autentiseringsuppgifterna är i form av en JSON-webbtoken (JWT): en öppen standard för säker kommunikation. Om du känner till JWT och redan har genererat nycklar kan du överföra din offentliga nyckel här. Alternativt fortsätter du genom att välja Alternativ 1 om du vill att Adobe ska generera nycklarna åt dig.

Skärmbild av att generera autentiseringsuppgifter

Klicka på Generera nyckelpar knapp. Du kan hämta en config.zip -fil. Zippa upp arkivfilen. Det innehåller två filer: certificate_pub.crt och private.key. Se till att den senare hålls säker, eftersom den innehåller dina privata inloggningsuppgifter och kan användas för att generera falska dokument om du inte kan kontrollera.

Klicka på Nästa. Nej, aktiverar åtkomst till API:et för generering av PDF. På fliken Välj produktprofiler skärm, kontrollera Enterprise PDF Services Developer och klicka på Spara konfigurerat API -knappen. Nu är du redo att börja använda API:et.

Konfigurera projektet

Konfigurera ett nodprojekt som ska köra din kod. I det här exemplet används Visual Studio Code (VS-kod) som redigerare. Skapa en mapp med namnet "letter-generator" och öppna den i VS-kod. Från Fil -menyn väljer du Avslutning > Ny terminal för att öppna ett skal i den här mappen. Kontrollera att Node är installerat och att det finns en sökväg genom att ange följande:

node -v

Du bör se vilken version av Node som är installerad på datorn.

Nu när du har installerat din utvecklingsmiljö kan du gå vidare och skapa ditt projekt.

Initiera först projektet med hjälp av Node Package Manager (npm). Skriv in följande:

npm init

Du får några frågor om ditt nodprojekt. Du kan hoppa över de flesta av dessa frågor, men se till att projektnamnet är "brev-generator" och startpunkten är index.js. Välj Ja för att slutföra projektinitieringen.

Du har nu en package.json-fil. Noden använder den här filen för att organisera projektet. Innan du skapar index.js måste du lägga till Adobe-bibliotek med följande kommando:

npm install --save @adobe/documentservices-pdftools-node-sdk

En ny mapp med namnet node_MODULES bör läggas till i ditt projekt. I den här mappen hämtas alla bibliotek (som kallas beroenden i noden). Filen package.json uppdateras också med en referens till Adobe PDF-tjänster.

Nu vill du installera Express som ett lättviktigt ramverk för webben. Ange följande kommando:

npm install express –save

Precis som tidigare uppdateras avsnittet med beroenden i package.json i enlighet med detta.

Skapa en mall för erbjudandebrev

Nu skapar du en fil i projektets rot som heter app.js. Här lägger vi in följande startkod:

const express = require('express');
const bodyParser = require('body-parser');
const PDFToolsSdk = require('@adobe/documentservices-pdftools-node-sdk')
const path = require('path');
const app = express();
const port = 8000;
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname + '/index.html'));
});
app.post('/', (req, res) => {
console.log('Got body:', req.body);
res.sendStatus(200);
});
app.listen(port, () => {
console.log(`Candidate offer letter app listening on port ${port}!`)
});

Observera att get-flödet returnerar ett index.html fil. Vi skapar en HTML-fil med det namnet och följande enkla formulär. Du kan lägga till CSS-format och andra designelement senare som du vill. Den här blanketten innehåller kandidatens grundläggande information för att skapa ett välkomstbrev:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Offer Letter Generator</title>
</head>
<body>
<h1>Enter Candidate Details</h1>
<form action="" method="post">
<div>
<label for="firstname">First name: </label>
<input type="text" name="firstname" id="firstname" required>
</div>
<div>
<label for="lastname">Last name: </label>
<input type="text" name="lastname" id="lastname" required>
</div>
<div>
<label for="salary">Salary ($): </label>
<input type="number" name="salary" id="salary" required>
</div>
<div>
<label for="startdate">Start Date: </label>
<input type="date" name="startdate" id="startdate" required>
</div>
<div>
<input type="submit" value="Generate Letter">
</div>
</form>
</body>
</html>

Kör webbservern med följande kommando:

node app.js

Du bör se meddelandet "Kandidatens erbjudandebrev app lyssnar på port 8000". Om du öppnar din webbläsare på http://localhost:8000/bör formuläret se ut så här:

Skärmbild av webbformulär

Lägg märke till att formuläret postar på sig själv. Om du fyller i data och klickar på Generera brev, Du bör se följande information på konsolen:

Got body: { firstname: 'John',
lastname: 'Doe',
salary: '887888',
startdate: '2021-04-01' }

Du ersätter den här konsolloggningen med ett webbtjänstanrop till Acrobat Services. Först måste du skapa en JSON-baserad modell av informationen. Modellens format ser ut så här:

{
    "offer_letter": {
    "firstname": "John",
    "lastname": "Doe",
    "salary": "887888",
    "startdate": "2021-04-01"
    }
}

Du kan göra den här modellen mer detaljerad om du vill, men i den här självstudiekursen behåller du det här enkla exemplet. Det finns ingen validering i det här formuläret eftersom detta ligger utanför artikelns omfattning. Om du vill konvertera formulärtexten till datamodellen som beskrivs ovan ändrar du metoden app.post handler så att den får följande kod:

app.post('/', (req, res) => {
const docModel = {'offer_letter': req.body};
generateLetter(docModel);
res.sendStatus(200);
});

På den första raden placeras JSON-data i önskat format. Nu skickar du dessa data till en generateLetter-funktion. Stoppa servern och klistra in följande kod i slutet av app.js. Den här koden använder ett Word-dokument som mall och fyller i platshållare med information från ett JSON-dokument.

// Letter generation function
function generateLetter(jsonDataForMerge) {
try {
// Initial setup, create credentials instance.
const credentials = PDFToolsSdk.Credentials
.serviceAccountCredentialsBuilder()
.fromFile("pdftools-api-credentials.json")
.build();
// Create an ExecutionContext using credentials
const executionContext = PDFToolsSdk.ExecutionContext.create(credentials);
// Create a new DocumentMerge options instance
const documentMerge = PDFToolsSdk.DocumentMerge,
documentMergeOptions = documentMerge.options,
options = new documentMergeOptions.DocumentMergeOptions(jsonDataForMerge,
documentMergeOptions.OutputFormat.PDF);
// Create a new operation instance using the options instance
const documentMergeOperation = documentMerge.Operation.createNew(options)
// Set operation input document template from a source file.
const input = PDFToolsSdk.FileRef.createFromLocalFile(
'resources/OfferLetter-Template.docx');
documentMergeOperation.setInput(input);
// Execute the operation and Save the result to the specified location.
documentMergeOperation.execute(executionContext)
.then(result => result.saveAsFile('output/OfferLetter.pdf'))
.catch(err => {
if(err instanceof PDFToolsSdk.Error.ServiceApiError
|| err instanceof PDFToolsSdk.Error.ServiceUsageError) {
console.log(
'Exception encountered while executing operation', err);
} else {
console.log(
'Exception encountered while executing operation', err);
}
});
} catch (err) {
console.log('Exception encountered while executing operation', err);
}
}

Det finns mycket kod att packa upp där. Låt oss ta huvuddelen först: documentMergeOperation. I det här avsnittet tar du dina JSON-data och sammanfogar dem med en Word-dokumentmall. Du kan använda exempel på webbplatsen Adobe som referens, men låt oss göra ett eget enkelt exempel. Öppna Word och skapa ett nytt tomt dokument. Du kan anpassa den så mycket du vill, men du har åtminstone något som detta:

Hej X!

Vi är glada att kunna erbjuda dig en position för $X ett år. Ditt startdatum är X.

Välkommen

Spara dokumentet som "OfferLetter-Template.docx" i en mapp som heter "resources" (resurser) i projektets rot. Observera de tre Xs:en i dokumentet. Dessa XS är tillfälliga platshållare för din JSON-information. Även om du kan ersätta de här platshållarna med en särskild syntax för att göra det, innehåller Adobe ett Word-tillägg som gör det enklare. Gå till Adobe för att installera tillägget Tillägg för taggning för dokumentgenerering -plats.

Klicka på den nya mallen i Erbjudandebrev Dokumentgenerering -knappen. En sidopanel öppnas. Klicka på Kom igång. Du får ett textområde som du vill klistra in i JSON-exempeldata. Kopiera JSON-kodavsnittet "offer-data" ovanifrån till textområdet. Det ska se ut så här:

Skärmbild av bokstav och kod

Klicka på Generera taggar knapp. En rullgardinsmeny med taggar visas där du kan infoga taggar i motsvarande punkter i dokumentet. Markera det första krysset i dokumentet och välj firstname. Klicka Infoga text och "Bästa X" ändras till "Bästa {{`offer_letter`.firstname}}". Det här märkordet har rätt format för documentMergeOperation. Fortsätt och lägg till de återstående tre taggarna vid rätt Xs. Glöm inte att spara OfferLetter-template.docx. Det ska se ut så här:

Hej {{`offer_letter`.firstname}} {{`offer_letter`.lastname}}!

Vi är glada att kunna erbjuda dig en position för $ {{`offer_letter`.salary}} ett år. Ditt startdatum är {{`offer_letter`.startdate}}.

Välkommen

Nu har Word-mallen en markering som matchar JSON-formatet. Till exempel, {{`offer_letter`.`firstname`}} i början av Word-dokument ersätts av värdet i avsnittet "förnamn" i JSON-data.

Tillbaka till ditt generateLetter funktion. För att skydda ditt REST-anrop skapar du en ny fil som heter pdftools-api-credentials.json i projektets rotmapp. Klistra in följande JSON-data och justera dem med information från tjänstkontoavsnittet (JWT) i Developer Console.

{
"client_credentials": {
"client_id": "<YOUR_CLIENT_ID>",
"client_secret": "<YOUR_CLIENT_SECRET>"
},
"service_account_credentials": {
"organization_id": "<YOUR_ORGANIZATION_ID>",
"account_id": "<YOUR_TECHNICAL_ACCOUNT_ID>",
"private_key_file": "<PRIVATE_KEY_FILE_PATH>"
}
}
  • Klient-ID, klienthemlighet och organisations-ID kan kopieras direkt från Autentiseringsinformation -sektionen i konsolen.

  • Konto-ID:et är ID för tekniskt konto.

  • Kopiera filen private.key som du genererade tidigare till projektet och ange dess namn i avsnittet private_key_file i filen pdftools-api-credentials.json. Om du vill kan du ange en sökväg till filen med den privata nyckeln här. Kom ihåg att hålla den säker eftersom den kan missbrukas en gång utanför din kontroll.

Om du vill skapa en PDF med JSON-data ifyllda går du tillbaka till Ange kandidatinformation webbformulär och publicera vissa data. Det tar en liten stund eftersom dokumentet måste hämtas från Adobe, men du bör ha en fil med namnet OfferLetter.pdf i en ny mapp med namnet output.

Nästa steg

Det var det! Detta är bara början. Om du tittar på avsnittet Avancerat på fliken Dokumentgenerering i Word-tillägget, ser du att inte alla platshållarmarkörer kommer från associerade JSON-data. Du kan också lägga till signaturtaggar. Med dessa taggar kan du ta dokumentet som skapas och överföra det till Adobe Sign för leverans och signering till den nya medarbetaren. Läs Komma igång med Adobe Sign API och lär dig hur du gör det. Den här processen är liknande eftersom du använder REST-anrop som är skyddade med en JWT-token.

Det sammanfattande dokumentexempel som ges ovan kan användas som grund för en ansökan när en organisation måste öka säsongsanställning av anställda på flera platser. Som visas är det huvudsakliga flödet att ta data från kandidater via en onlineansökan. Data används för att fylla i fälten i ett erbjudandebrev och skicka ut det för elektronisk signatur.

Adobe Acrobat Services är gratis att använda i sex månader, sedan betala per användning för bara $0,05 per dokumenttransaktion, så att du kan testa det och skala arbetsflödet för erbjudandebrevet när verksamheten växer. till kom igång
skapa egna mallar, registrera ditt utvecklarkonto.

recommendation-more-help
61c3404d-2baf-407c-beb9-87b95f86ccab