How to convert a ct scan dicom image to a pdf document
- Step 1Choose the key slice and window on your workstation — Scroll to the representative axial slice and set the window you want (lung / soft-tissue / bone). The converter renders one slice with the window stored in it — so set it before exporting.
- Step 2Export the single slice uncompressed — Export that one instance as uncompressed DICOM (Implicit/Explicit VR Little Endian). Compressed CT (JPEG2000/JPEG-LS) won't render correctly here, and the export should carry the
WindowCenter/WindowWidthplus rescale tags. - Step 3Drop the slice onto the converter — Upload the
.dcm(or.dicom) file. One file per run. Full-resolution 16-bit slices can exceed the 2 MB free cap — use Pro (50 MB) for those. - Step 4Let it render — no options — Conversion auto-runs. The slice's raw values are rescaled to Hounsfield, mapped through the stored window to grayscale, and placed on a fixed A4 page with a caption beneath.
- Step 5Confirm the window and level in the caption — Check the caption's window values and Series description match what you intended (e.g. a mediastinal vs lung window). Patient identifiers are printed here, so the output is PHI.
- Step 6Repeat for other windows/slices, then merge — Need a soft-tissue and a bone window of the same level, or several slices? Convert each and combine with PDF Merge into one document for the referral or pre-auth submission.
CT rendering specifics
How a CT slice is interpreted. Values are read from the file; nothing is adjustable in the tool.
| Aspect | Behaviour | CT note |
|---|---|---|
| Slices per conversion | One slice → one page | Not a series-to-pages exporter; convert key slices individually |
| Hounsfield rescale | value × RescaleSlope + RescaleIntercept before windowing | Turns stored values into HU — essential for correct CT window mapping |
| Window | Stored WindowCenter / WindowWidth (default C 128 / W 256 if absent) | Set lung/soft-tissue/bone window on the workstation before export |
| Bit depth | 16-bit read as Int16/Uint16 per PixelRepresentation | CT is typically signed 16-bit; rendered to 8-bit grayscale via the window |
| Polarity | MONOCHROME2 (CT norm) shown directly; MONOCHROME1 inverted | Matches clinical display |
| Image embed | Scaled to page width, JPEG q0.95 | Reduced detail vs diagnostic slice |
CT slice size vs tier cap
16-bit CT slices are large; the per-file cap is the gate. Whole series do not apply — this is one slice per file.
| Slice (typical) | Approx. uncompressed size | Free (2 MB) | Pro (50 MB) |
|---|---|---|---|
| 512×512, 16-bit | ~0.5 MB | Fits | Fits |
| 512×512 with overlays / extra elements | ~1–2 MB | Usually fits | Fits |
| 1024×1024 reconstructed slice, 16-bit | ~2 MB | Borderline | Fits |
| Thick multi-frame block exported as one instance | Several MB | Blocked | Fits (first frame only renders) |
Cookbook
CT key-image scenarios. HU/window values and identifiers are illustrative.
A single axial slice, soft-tissue window
One 512×512 CT slice converts to a one-page PDF; HU rescale plus the stored soft-tissue window reproduce the workstation view.
Input: ct_ax_088.dcm 0.5 MB, CT, 512x512, signed 16-bit
Action: drop on converter (auto-runs)
Output: ct_ax_088.dicom-to-pdf.pdf 1 page
caption: Modality CT, Window C 40 / W 400Same level, two windows, merged
To show both a soft-tissue and a lung window of one level, export the slice twice (once per window), convert each, and merge.
Export: soft.dcm (C 40/W 400), lung.dcm (C -600/W 1500) Convert: -> soft.dicom-to-pdf.pdf, lung.dicom-to-pdf.pdf Merge: PDF Merge -> ct_two_windows.pdf (2 pages)
Trying to convert a whole series
A full CT series is many instances. Dropping a multi-frame block renders only the first frame; dropping one instance renders that one slice. There is no page-per-slice output.
Input: ct_series_block.dcm (multi-frame) Output: 1 page = first frame only Want key slices? Export each, convert, merge.
Full-resolution slice over the free cap
A reconstructed high-res or overlay-laden instance can pass 2 MB and is blocked on free.
Input: ct_hires.dcm 2.4 MB Free: blocked at 2 MB cap Pro: renders to a one-page PDF (cap 50 MB)
Compressed CT renders as noise
CT archives are frequently JPEG2000. That pixel data isn't decompressed.
Input: ct_j2k.dcm transfer syntax JPEG2000 Result: noise instead of anatomy Fix: re-export as uncompressed Little Endian
Edge cases and what actually happens
Expecting a page per CT slice
By designThis is the key correction for CT: the tool converts one frame to one page, not a whole series to a page-per-slice PDF. Convert the key slices you want and combine them with PDF Merge.
Multi-frame CT block
First frame onlyIf a series is exported as a single multi-frame instance, only the first frame renders. Export the individual slices you need as separate instances.
Compressed pixel data
Renders incorrectlyJPEG2000/JPEG-LS/RLE CT pixel data is not decompressed and renders as noise. Re-export the slice as uncompressed (Implicit/Explicit VR Little Endian).
Window not stored / wrong window
Default appliedWithout WindowCenter / WindowWidth, the default C 128 / W 256 is used, which won't match a proper CT window. Set the intended lung/soft-tissue/bone window on the workstation before exporting so the tags travel with the slice.
Rescale tags missing
Pass-throughIf RescaleSlope / RescaleIntercept are absent, defaults of slope 1 / intercept 0 are applied, so stored values pass through unchanged. For CT this can shift the apparent HU mapping — most CT instances include rescale tags, so confirm they're present in your export.
Full-resolution slice over the cap
BlockedA standard 512×512 16-bit slice is ~0.5 MB and fits free, but reconstructed high-res or overlay-laden instances can exceed 2 MB and are blocked. Upgrade to Pro (50 MB).
Patient identifiers on the page
PHI exposureThe caption renders Patient name and ID. For insurer or external sharing, de-identify with the PII redactor after conversion or de-identify the DICOM first; the metadata scrubber won't remove the rendered caption.
Reduced fidelity vs the diagnostic slice
Communication onlyThe slice is scaled and JPEG-encoded, so it's lower fidelity than the diagnostic DICOM. Use the PDF for communication and pre-auth; diagnosis stays on the full study and a calibrated display.
No pixel data / renamed file
Placeholder or errorAn image-free object yields a placeholder PDF with patient and modality; a non-DICOM file renamed to .dcm throws "Could not parse DICOM file" — for ordinary images use Image to PDF.
Frequently asked questions
How many slices can be in a CT PDF?
One. The tool converts a single frame to a single page — it is not a series-to-pages exporter. To present several slices, convert each key slice and combine them with PDF Merge.
Does it apply the CT window correctly?
It rescales stored values to Hounsfield units using RescaleSlope / RescaleIntercept, then maps them through the slice's stored WindowCenter / WindowWidth. So a properly windowed export (lung, soft-tissue, bone) reproduces your workstation view. If window tags are missing it defaults to C 128 / W 256.
Should I select only clinically relevant slices?
Yes — and you must, because each conversion is one slice. Export the key slices, convert each, and merge them. There's no automatic whole-series export.
Can I attach the CT PDF to an insurance pre-authorisation form?
Yes — PDF is accepted by most insurance portals. Convert the relevant key slice(s), merge if there are several, and confirm the combined file is within the portal's upload size limit. De-identify the caption first if the insurer shouldn't see patient details.
Why does my CT slice look wrong (flat or grey)?
Usually a missing window (it falls back to a generic C 128 / W 256) or missing rescale tags. Set the correct window on the workstation and ensure the export includes rescale tags, then re-export the slice.
Why does it render as static?
The pixel data is compressed (JPEG2000/JPEG-LS), which the parser doesn't decode. Re-export the slice as uncompressed Little Endian.
How big can a CT slice file be?
Up to 2 MB on free, 50 MB on Pro. A standard 512×512 16-bit slice is ~0.5 MB and fits free; high-resolution reconstructions or overlay-heavy instances may need Pro.
Are there any rendering options?
No. Conversion auto-runs on a fixed A4 page using the slice's own window. Adjust page size afterward with PDF Resize; adjust window by re-exporting from the workstation.
Is patient data uploaded?
No. Parsing and rendering run in your browser with dicom-parser and pdf-lib; CT pixel data and identifiers never leave the device.
Is the PDF suitable for diagnosis?
No. It's a reduced-resolution JPEG of one slice at one window. It supports communication and pre-authorisation; diagnostic reading must use the full study on a calibrated display.
How do I de-identify the slice before sharing?
Convert, then redact the caption's patient name and ID with the PII redactor; or de-identify the DICOM at source. Clearing PDF document properties won't hide the rendered caption text.
Can I automate CT key-image conversion?
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 each slice to 127.0.0.1:9789/v1/tools/dicom-to-pdf/run. Processing stays local.
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.