Skip to main content
Glama
creating-a-pdf.ts1.91 kB
// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors // SPDX-License-Identifier: Apache-2.0 // start-block coreImports import type { BotEvent, MedplumClient } from '@medplum/core'; // end-block coreImports // start-block pdfBot export async function handler(medplum: MedplumClient, _event: BotEvent): Promise<any> { // Create the PDF const binary = await medplum.createPdf({ docDefinition: { content: ['Hello world'], }, }); console.log('Binary result', binary); // Create a Media, representing an attachment const media = await medplum.createResource({ resourceType: 'Media', status: 'completed', content: { contentType: 'application/pdf', url: 'Binary/' + binary.id, title: 'report.pdf', }, }); console.log('Media result', media); } // end-block pdfBot let YOUR_DOCUMENT_ID: any; // start-block embeddedImages import fetch from 'node-fetch'; export async function botHandler(medplum: MedplumClient, _event: BotEvent): Promise<any> { // Load the image const image = await medplum.readResource('DocumentReference', YOUR_DOCUMENT_ID); const response = await fetch(image.content?.[0]?.attachment?.url as string); const buffer = await response.buffer(); const imageData = `data:${response.headers.get('content-type')};base64,${buffer.toString('base64')}`; // Create the PDF const binary = await medplum.createPdf({ docDefinition: { content: ['Hello world', { image: imageData }], }, }); console.log('Binary result', binary); // Create a Media, representing an attachment const media = await medplum.createResource({ resourceType: 'Media', status: 'completed', content: { contentType: 'application/pdf', url: 'Binary/' + binary.id, title: 'report.pdf', }, }); console.log('Media result', media); return media; } // end-block embeddedImages

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/medplum/medplum'

If you have feedback or need assistance with the MCP directory API, please join our Discord server