https://github.com/templatefoxpdf/typescriptsdk
Official TemplateFox TypeScript SDK - Generate PDFs from HTML templates via API
https://github.com/templatefoxpdf/typescriptsdk
document-generation html-to-pdf invoice-generator javascript javascript-library node nodejs pdf pdf-api pdf-as-a-service pdf-generator pdf-template template-engine typescript typescript-library
Last synced: 2 months ago
JSON representation
Official TemplateFox TypeScript SDK - Generate PDFs from HTML templates via API
- Host: GitHub
- URL: https://github.com/templatefoxpdf/typescriptsdk
- Owner: TemplateFoxPDF
- License: mit
- Created: 2026-02-04T16:31:15.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-15T21:36:28.000Z (4 months ago)
- Last Synced: 2026-02-16T03:05:13.528Z (4 months ago)
- Topics: document-generation, html-to-pdf, invoice-generator, javascript, javascript-library, node, nodejs, pdf, pdf-api, pdf-as-a-service, pdf-generator, pdf-template, template-engine, typescript, typescript-library
- Language: TypeScript
- Homepage: https://pdftemplateapi.com
- Size: 83 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TemplateFox TypeScript SDK
Official TypeScript/Node.js SDK for [TemplateFox](https://templatefox.com) - Generate PDFs from HTML templates via API.
[](https://www.npmjs.com/package/@templatefox/sdk)
[](https://opensource.org/licenses/MIT)
## Installation
```bash
npm install @templatefox/sdk
```
Or with yarn:
```bash
yarn add @templatefox/sdk
```
## Quick Start
```typescript
import { Configuration, PDFApi, CreatePdfRequest } from '@templatefox/sdk';
// Initialize the client
const config = new Configuration({
apiKey: 'your-api-key',
});
const api = new PDFApi(config);
// Generate a PDF
async function generatePdf() {
const response = await api.createPdf({
templateId: 'YOUR_TEMPLATE_ID',
data: {
name: 'John Doe',
invoiceNumber: 'INV-001',
totalAmount: 150.00,
},
});
console.log('PDF URL:', response.url);
console.log('Credits remaining:', response.creditsRemaining);
}
generatePdf();
```
## Features
- **Template-based PDF generation** - Create templates with dynamic variables, generate PDFs with your data
- **Multiple export options** - Get a signed URL (default) or raw binary PDF
- **S3 integration** - Upload generated PDFs directly to your own S3-compatible storage
- **TypeScript support** - Full type definitions included
## API Methods
### PDF Generation
```typescript
// Generate PDF and get URL
const response = await api.createPdf({
templateId: 'TEMPLATE_ID',
data: { name: 'John Doe' },
exportType: 'url', // 'url' or 'binary'
expiration: 86400, // URL expiration in seconds (default: 24h)
filename: 'invoice-001', // Custom filename
});
```
### Templates
```typescript
import { TemplatesApi } from '@templatefox/sdk';
const templatesApi = new TemplatesApi(config);
// List all templates
const templates = await templatesApi.listTemplates();
// Get template fields
const fields = await templatesApi.getTemplateFields({ templateId: 'TEMPLATE_ID' });
```
### Account
```typescript
import { AccountApi } from '@templatefox/sdk';
const accountApi = new AccountApi(config);
// Get account info
const account = await accountApi.getAccount();
console.log('Credits:', account.credits);
// List transactions
const transactions = await accountApi.listTransactions({ limit: 100, offset: 0 });
```
### S3 Integration
```typescript
import { IntegrationsApi } from '@templatefox/sdk';
const integrationsApi = new IntegrationsApi(config);
// Save S3 configuration
await integrationsApi.saveS3Config({
s3ConfigRequest: {
endpointUrl: 'https://s3.amazonaws.com',
accessKeyId: 'AKIAIOSFODNN7EXAMPLE',
secretAccessKey: 'your-secret-key',
bucketName: 'my-pdf-bucket',
defaultPrefix: 'generated/pdfs/',
}
});
// Test connection
const test = await integrationsApi.testS3Connection();
console.log('Connection:', test.success ? 'OK' : 'Failed');
```
## Configuration Options
```typescript
const config = new Configuration({
basePath: 'https://api.templatefox.com', // Default API URL
apiKey: 'your-api-key',
});
// Or use environment variable
const config = new Configuration({
apiKey: process.env.TEMPLATEFOX_API_KEY,
});
```
## Error Handling
```typescript
try {
const response = await api.createPdf({ /* ... */ });
} catch (error) {
if (error.status === 402) {
console.error('Insufficient credits');
} else if (error.status === 403) {
console.error('Access denied - check your API key');
} else if (error.status === 404) {
console.error('Template not found');
} else {
console.error('Error:', error.message);
}
}
```
## Documentation
- [API Documentation](https://templatefox.com/docs)
- [Swagger UI](https://api.templatefox.com/docs)
- [Dashboard](https://templatefox.com/dashboard)
## Support
- Email: support@templatefox.com
- Issues: [GitHub Issues](https://github.com/TemplateFoxPDF/typescriptsdk/issues)
## License
MIT License - see [LICENSE](LICENSE) for details.