How to convert an x-ray dicom image to pdf for clinical referral
- Step 1Retrieve the X-ray DICOM from PACS — Pull the single film (one
.dcminstance) for the view you're referring on — e.g. the PA chest, or the AP and lateral of a joint. Export as uncompressed DICOM if your PACS lets you choose the transfer syntax; compressed films won't render here. - Step 2Open the converter and drop the film — Drop the
.dcm(or.dicom) onto the dropzone. One file at a time;application/dicomis accepted. If a film is over the free 2 MB cap, upgrade to Pro (50 MB) or export a smaller representation from PACS. - Step 3Let it render — no options needed — Rendering auto-starts. The projection is mapped to grayscale through the file's stored window onto a fixed A4 page; there is no window slider or page-size choice.
- Step 4Confirm the view and patient in the caption — Check the caption shows the right Series/View, Study Date and patient. These identifiers are printed onto the page, so the output is PHI — handle it as you would the original film.
- Step 5Repeat for each view, then assemble — Convert each view separately (one frame per PDF), then combine them into a single referral attachment with PDF Merge so the receiving clinic gets one tidy file.
- Step 6Attach to the referral and send — Add the PDF to the referral letter or upload to the referral portal. If the destination shouldn't see patient identifiers, redact the caption with the PII redactor before sending.
X-ray rendering and what to expect
How a projection radiograph is converted. Everything is read from the file; nothing is adjustable in the UI.
| Aspect | Behaviour | Referral implication |
|---|---|---|
| Frames | One frame → one page | Plain films are single-frame, so this fits; convert each view separately |
| Colour | Grayscale (MONOCHROME1 inverted, MONOCHROME2 normal) | Matches the standard radiograph appearance |
| Window | Stored WindowCenter / WindowWidth (default C 128 / W 256 if absent) | CR/DX films usually carry a usable window from the modality |
| Resolution | Image scaled to fit page width, aspect preserved, embedded as JPEG q0.95 | Detail is reduced vs the original film — communication, not diagnosis |
| Caption | Patient, ID, Modality, Study Date, Study, Series/View, size, window | Gives the receiving clinician immediate context |
| Compressed pixel data | Not decompressed — renders as noise | Export uncompressed before converting |
File size: will the film fit?
Full-resolution CR/DX films are large; the per-file cap is the gate to plan around.
| Film type (typical) | Approx. uncompressed size | Free (2 MB) | Pro (50 MB) |
|---|---|---|---|
| Extremity / hand DX (~1500×1500, 16-bit) | ~4.5 MB | Blocked | Fits |
| Chest CR/DX (~2000×2500, 16-bit) | ~10 MB | Blocked | Fits |
| Downsampled 8-bit secondary capture (~1024×1024) | ~1 MB | Fits | Fits |
| Spine / long-leg stitched | 10–25 MB | Blocked | Fits |
Cookbook
Referral-packet scenarios. Sizes and identifiers are illustrative.
PA chest film for a respiratory referral
A single CR chest film converts to one page with the modality's window and a caption identifying the study. Full-resolution films usually need Pro.
Input: chest_pa.dcm ~10 MB, DX, 2000x2500, MONOCHROME2
Free: blocked at 2 MB cap
Pro: chest_pa.dicom-to-pdf.pdf 1 page, grayscale
caption: Modality DX, Series "CHEST PA"Two-view joint referral assembled into one PDF
AP and lateral are separate instances. Convert each, then merge so the orthopaedic clinic receives a single attachment.
Convert: knee_ap.dcm -> knee_ap.dicom-to-pdf.pdf
knee_lat.dcm -> knee_lat.dicom-to-pdf.pdf
Merge: PDF Merge -> knee_referral.pdf (2 pages)Downsampled film that fits the free tier
An 8-bit secondary-capture or downsampled export drops under 2 MB and converts on free tier, at the cost of some resolution.
Input: hand_sc.dcm ~1 MB, 8-bit, 1024x1024 Free: hand_sc.dicom-to-pdf.pdf 1 page (fits free)
Compressed CR archive renders as noise
PACS often stores CR archives JPEG-compressed. That pixel data isn't decompressed; re-export uncompressed.
Input: cr_j2k.dcm transfer syntax JPEG2000 Result: noise instead of the film Fix: re-export as uncompressed Little Endian
Redact identifiers before sending externally
When the referral goes outside your trust/network, strip the printed patient name and ID after conversion.
Convert: film.dcm -> film.dicom-to-pdf.pdf (caption has name+ID) Redact: PII Redactor -> film_redacted.pdf Send the redacted PDF in the referral packet.
Edge cases and what actually happens
Full-resolution film exceeds the free cap
BlockedA full-res CR/DX chest or stitched spine film is commonly 4–25 MB uncompressed and is blocked on the 2 MB free tier. Upgrade to Pro (50 MB) or export a smaller/downsampled representation. Note: compressing won't help if it's an encapsulated transfer syntax, which won't render.
Compressed pixel data
Renders incorrectlyJPEG2000/JPEG-LS/RLE pixel data is read raw and renders as noise. Export the film as uncompressed (Implicit/Explicit VR Little Endian) before converting.
Detail loss vs the original film
Communication onlyThe image is scaled to page width and JPEG-encoded at quality 0.95, so fine detail is reduced relative to the diagnostic film. The PDF is for referral communication; the receiving radiologist should review the original DICOM where diagnosis depends on it.
Multiple views in one file
First frame onlyIf multiple views are packed into a multi-frame instance, only the first frame renders. Export each view as its own instance, convert, and merge with PDF Merge.
No window stored
Default appliedIf the film lacks WindowCenter / WindowWidth, the default C 128 / W 256 is used, which can look flat on 16-bit data. Most CR/DX modalities write a usable window; if yours doesn't, apply one before export.
Patient identifiers printed on the page
PHI exposureThe caption renders Patient name and ID. For external referrals that must be de-identified, redact with the PII redactor after conversion or de-identify the DICOM first; the metadata scrubber only clears document properties, not the caption.
Inverted-looking film
PreservedMONOCHROME1 films are inverted on render so they display dark-background like a clinical viewer. If a film looks negative, it's almost always a compressed/unsupported pixel encoding rather than the polarity handling.
File renamed to .dcm
ErrorA JPEG/PNG saved with a .dcm extension throws "Could not parse DICOM file". For ordinary images use Image to PDF.
No pixel data
PlaceholderIf the instance carries no image (e.g. a report object), the tool emits a placeholder PDF with the patient and modality rather than failing.
Frequently asked questions
Will the PDF render the X-ray in grayscale?
Yes. Projection radiographs are monochrome, and the converter renders MONOCHROME1 / MONOCHROME2 data in grayscale using the film's stored window — matching the standard clinical appearance.
Multiple views need to go in one referral — how?
Convert each view separately (one frame per PDF), then combine them into a single attachment with PDF Merge. The converter doesn't page multiple views from one file.
My chest film won't upload — why?
Full-resolution CR/DX films are often 4–25 MB uncompressed, over the 2 MB free cap. Upgrade to Pro (50 MB), or export a downsampled representation from PACS. Don't rely on transfer-syntax compression to shrink it — encapsulated pixel data won't render.
Are there options to adjust contrast or page size?
No. Conversion auto-runs on a fixed A4 page with the film's own window. To change page size afterward use PDF Resize; to adjust contrast, re-window on the workstation before exporting.
Is this approved for clinical diagnosis?
No. The PDF is a JPEG reproduction at one window setting and reduced resolution — intended for referral communication. Diagnostic decisions must be made from the full DICOM on a calibrated display.
Why does my film render as static?
The pixel data is compressed (JPEG2000/JPEG-LS/RLE), which the parser doesn't decode. Re-export the film as uncompressed Little Endian.
Is patient data uploaded?
No. Everything runs in your browser; the film and identifiers never reach a server. The result panel confirms 0 bytes uploaded.
How do I remove patient identifiers for an external referral?
The caption prints the name and ID onto the page, so redact with the PII redactor after conversion, or de-identify the DICOM before converting. Clearing PDF document properties won't hide the rendered caption.
What file types are accepted?
.dcm and .dicom with the application/dicom MIME type, one at a time. A renamed JPEG/PNG won't parse — use Image to PDF for those.
Can I print the referral PDF?
Yes — it's a standard PDF and prints from any reader. For consistent paper sizing across a packet, normalise pages with PDF Resize before printing.
Does it keep the view label (PA / AP / lateral)?
If the modality wrote it into the Series/View description, yes — it appears in the caption. That's how the receiving clinic identifies which projection each page shows.
Can I automate referral conversions?
Yes. dicom-to-pdf is a runner-builtin (Pro): GET /api/v1/tools/dicom-to-pdf for the schema, pair the @jadapps/runner, then POST the film to 127.0.0.1:9789/v1/tools/dicom-to-pdf/run. Processing stays on your machine.
Privacy first
All PDF processing runs locally in your browser using PDF-lib and pdf.js. No file is ever uploaded — only metadata counters are saved for signed-in dashboard stats.