foxit-api
v1.0.1
Published
JavaScript SDK for Foxit PDF Services and document generation.
Maintainers
Readme
foxit-api
JavaScript SDK structured around Client, PDF, and DocumentGeneration.
Install
npm install foxit-apiUsage
const { Client, PDF, DocumentGeneration } = require('foxit-api');
const client = new Client({
client_id: process.env.FOXIT_CLIENT_ID,
client_secret: process.env.FOXIT_CLIENT_SECRET,
base_url: 'https://na1.fusion.foxit.com',
});
const pdf = new PDF(client);
const documentGeneration = new DocumentGeneration(client);
(async () => {
await documentGeneration.generate_document_to_file({
base64_file_string: 'BASE64_TEMPLATE',
document_values: { 'Account.Name': 'ABC Industry' },
output_path: 'generated.docx',
});
await pdf.watermark_text_file(
'input.pdf',
'watermarked.pdf',
'CONFIDENTIAL'
);
})();Architecture
Client: authentication, HTTP transport, JSON parsing, error normalization, upload, task polling, and file download.PDF: PDF Services operations and high-level convenience workflows.DocumentGeneration: document-generation operations and file-writing helper.
Document Generation
const { Client, DocumentGeneration } = require('foxit-api');
const client = new Client({
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
});
const documentGeneration = new DocumentGeneration(client);
await documentGeneration.generate_document_to_file({
base64_file_string: 'BASE64_TEMPLATE',
document_values: { 'Account.Name': 'ABC Industry' },
output_path: 'generated.docx',
});const { Client, PDF } = require('foxit-api');
const client = new Client({
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
});
const pdf = new PDF(client);
await pdf.watermark_text_file(
'input.pdf',
'watermarked.pdf',
'CONFIDENTIAL'
);API
new Client({ client_id, client_secret, base_url, timeout, fetch })client.upload_document(file_path)client.get_task_status(task_id)client.wait_for_task(task_id, poll_interval, timeout)client.download_document(document_id, destination, filename)new PDF(client)pdf.merge_pdfs(document_infos, config)pdf.watermark_pdf(document_id, config)pdf.html_to_pdf(document_id, config)pdf.pdf_from_url(url, config)pdf.watermark_file(input_pdf, output_pdf, config, filename, poll_interval, timeout)pdf.watermark_text_file(input_pdf, output_pdf, text, options)pdf.url_to_pdf_file(url, output_pdf, config, filename, poll_interval, timeout)new DocumentGeneration(client)documentGeneration.generate_document_base64(base64_file_string, document_values)documentGeneration.analyze_document_base64(base64_file_string, document_values)documentGeneration.generate_document_to_file({ base64_file_string, document_values, output_path })FoxitSDKError
Notes
- Default
base_url:https://na1.fusion.foxit.com - Auth uses header-based credentials:
client_idandclient_secret DocumentGenerationuses/document-generation/api/GenerateDocumentBase64and/document-generation/api/AnalyzeDocumentBase64- PDF workflows use the shared async upload -> task -> poll -> download model
