Skip to main content
  • Files: You can upload pre-generated files to Intelliprint to print and send directly.
  • Content: You can generate a print job from text or HTML content.
  • Templates: You can generate a print job from any pre-designed template in your account.

Files

You can upload pre-generated PDF, Word, RTF, PNG or JPEG files to be printed and sent as a letter or a postcard directly via the Intelliprint API.
If your file for a letter already has an address placed in the correct position, you do not need to provide any recipients separately, Intelliprint will read the recipient address directly from the file.
import Intelliprint from 'intelliprint'

const ip = new Intelliprint('your-api-key-here')

import fs from 'fs'

const printJob = await ip.prints.create({
  type: 'letter',
  file: fs.createReadStream('path/to/my/letter.pdf'),  
  recipients: [{
    address: {
      name: 'John Doe',
      line: '123 Main Street, Anytown, Anyplace',
      postcode: 'AB1 2CD',
      country: 'GB'
    }
  }],
  confirmed: false //Set to 'true' when you're ready to start submitting mail for printing.
})

console.log('Print job created:', printJob.id)

Text Content

You can provide the text or HTML-formatted content of your mail item directly as a string in the content field.
To make your letter look even better, consider applying a background image or letterhead to your print job.
import Intelliprint from 'intelliprint'

const ip = new Intelliprint('your-api-key-here')

const printJob = await ip.prints.create({
  type: 'letter',
  content: 'Hello World!\nThis is a letter!', 
  recipients: [{
    address: {
      name: 'John Doe',
      line: '123 Main Street, Anytown, Anyplace',
      postcode: 'AB1 2CD',
      country: 'GB'
    }
  }],
  confirmed: false //Set to 'true' when you're ready to start submitting mail for printing.
})

console.log('Print job created:', printJob.id)

Templates

You can design your own templates in the Intelliprint Dashboard. The Template Designer is available in the Bulk mail -> (Create a mailing list) -> (Choose or create a template) section.
Templates can use Dynamic Fields (variables) to tailor the template for each recipient. Dynamic Fields can be applied for textboxes or QR codes.
Once you have created a template, you should find its ID in the URL when you view the template in the Dashboard.
import Intelliprint from 'intelliprint'

const ip = new Intelliprint('your-api-key-here')

import fs from 'fs'

const printJob = await ip.prints.create({
  template: 'tmpl_1234567890', //The ID of the template you want to use.
  recipients: [{
    address: {
      name: 'John Doe',
      line: '123 Main Street, Anytown, Anyplace',
      postcode: 'AB1 2CD',
      country: 'GB'
    },
    variables: { 
      salutation: 'Mr.', 
      qr_value: 'https://customlink.com'
    } 
  }],
  confirmed: false //Set to 'true' when you're ready to start submitting mail for printing.
})

console.log('Print job created:', printJob.id)