@pdftemplate/sdk
v0.2.0
Published
The official SDK for the PDFTemplate API. Create beautiful PDFs with a simple, local-first API.
Maintainers
Readme
PDFTemplate SDK
The official Node.js SDK for the PDFTemplate API. Create beautiful PDFs with a simple, local-first API.
Installation
npm install @pdftemplate/sdkQuick Start
Create a generate-invoice.js file and paste the following code. Make sure to replace 'YOUR_API_KEY' with your actual API key.
const { generate } = require('@pdftemplate/sdk');
const path = require('path');
async function createInvoice() {
console.log('Generating PDF...');
try {
await generate(
{ apiKey: 'YOUR_API_KEY' }, // <-- IMPORTANT: Replace with your key
(doc) => {
// Define your document here
doc.text({ content: 'Invoice #123', fontSize: 24, fontWeight: 'bold' });
doc.space({ height: 20 });
doc.text({ content: 'Billed to: ACME Corp' });
doc.space({ height: 40 });
doc.beginRow({ backgroundColor: '#eeeeee', padding: 5 });
doc.text({ content: 'Item', fontWeight: 'bold' });
doc.text({ content: 'Price', fontWeight: 'bold' });
doc.endRow();
doc.beginRow({ padding: 5 });
doc.text({ content: 'Pro Widget' });
doc.text({ content: '$250.00' });
doc.endRow();
}
).toFile(path.join(__dirname, 'invoice.pdf'));
console.log('Successfully created invoice.pdf!');
} catch (error) {
console.error('Failed to generate PDF:', error);
}
}
createInvoice();Then, run the script from your terminal:
node generate-invoice.jsA file named invoice.pdf will be created in the same directory.
API
generate({ apiKey }, callback)
The main function to create a document.
apiKey: Your secret API key.callback: A function that receives adocobject to build your document.
Returns a controller object with the following methods:
.toFile(path)
Asynchronously saves the generated PDF to a local file. Returns a Promise.
.toStream()
Asynchronously returns the generated PDF as a Node.js ReadableStream. Ideal for server environments. Returns a Promise that resolves with the stream.
.toBuffer()
Asynchronously returns the generated PDF as a Buffer. Returns a Promise that resolves with the buffer.
