Advanced Imaging - Convert DICOM to PDF - Java Sample Code

Sample code demonstrates how to use the Apryse Advanced Imaging module for direct, high-quality conversion from DICOM to PDF. Samples provided in Python, C++, C#, Java, Node.js (JavaScript), and VB. Learn more about our Server SDK and PDF Conversion Library.

1//---------------------------------------------------------------------------------------
2// Copyright (c) 2001-2024 by Apryse Software Inc. All Rights Reserved.
3// Consult legal.txt regarding legal and license information.
4//---------------------------------------------------------------------------------------
5
6import com.pdftron.common.PDFNetException;
7import com.pdftron.pdf.*;
8import com.pdftron.sdf.Obj;
9import com.pdftron.sdf.ObjSet;
10import com.pdftron.sdf.SDFDoc;
11
12//---------------------------------------------------------------------------------------
13// The following sample illustrates how to convert AdvancedImaging documents to PDF format using
14// the AdvancedImaging class.
15//
16// 'pdftron.PDF.AdvancedImaging' is an optional PDFNet Add-On utility class that can be
17// used to convert AdvancedImaging documents into PDF documents by using an external module (AdvancedImaging).
18//
19// AdvancedImaging modules can be downloaded from http://www.pdftron.com/pdfnet/downloads.html.
20//---------------------------------------------------------------------------------------
21public class AdvancedImagingTest {
22
23 public static void main(String[] args)
24 {
25 System.getProperty("sun.arch.data.model");
26
27 PDFNet.initialize(PDFTronLicense.Key());
28 try {
29 PDFNet.addResourceSearchPath("../../../Lib/");
30 if(!AdvancedImagingModule.isModuleAvailable())
31 {
32 System.out.println();
33 System.out.println("Unable to run AdvancedImagingTest: Apryse SDK AdvancedImaging module not available.");
34 System.out.println("---------------------------------------------------------------");
35 System.out.println("The AdvancedImaging module is an optional add-on, available for download");
36 System.out.println("at http://www.pdftron.com/. If you have already downloaded this");
37 System.out.println("module, ensure that the SDK is able to find the required files");
38 System.out.println("using the PDFNet::AddResourceSearchPath() function." );
39 System.out.println();
40 }
41 } catch (PDFNetException e) {
42 System.out.println("AdvancedImaging module not available, error:");
43 e.printStackTrace();
44 System.out.println(e);
45 }
46
47 // Relative path to the folder containing test files.
48 String input_path = "../../TestFiles/AdvancedImaging/";
49 String output_path = "../../TestFiles/Output/";
50 // The input file names
51 String dicom_input_file = "xray.dcm";
52 String heic_input_file = "jasper.heic";
53 String psd_input_file = "tiger.psd";
54 String outputFile;
55
56 System.out.println("-------------------------------------------------");
57 System.out.println("Converting DICOM document to PDF");
58
59 try (PDFDoc doc = new PDFDoc()) {
60 AdvancedImagingConvertOptions opts = new AdvancedImagingConvertOptions();
61 opts.setDefaultDPI(72.0);
62 Convert.fromDICOM(doc, input_path + dicom_input_file, opts);
63 outputFile = output_path + dicom_input_file + ".pdf";
64 doc.save(outputFile, SDFDoc.SaveMode.LINEARIZED, null);
65 System.out.println("Result saved in " + outputFile);
66 } catch (PDFNetException e) {
67 System.out.println("Unable to convert DICOM document, error:");
68 e.printStackTrace();
69 System.out.println(e);
70 }
71 System.out.println("Converting HEIC document to PDF");
72 try (PDFDoc doc = new PDFDoc()) {
73 Convert.toPdf(doc, input_path + heic_input_file);
74 outputFile = output_path + heic_input_file + ".pdf";
75 doc.save(outputFile, SDFDoc.SaveMode.LINEARIZED, null);
76 System.out.println("Result saved in " + outputFile);
77 } catch (PDFNetException e) {
78 System.out.println("Unable to convert HEIC document, error:");
79 e.printStackTrace();
80 System.out.println(e);
81 }
82
83 System.out.println("Converting PSD document to PDF");
84 try (PDFDoc doc = new PDFDoc()) {
85 Convert.toPdf(doc, input_path + psd_input_file);
86 outputFile = output_path + psd_input_file + ".pdf";
87 doc.save(outputFile, SDFDoc.SaveMode.LINEARIZED, null);
88 System.out.println("Result saved in " + outputFile);
89 } catch (PDFNetException e) {
90 System.out.println("Unable to convert PSD document, error:");
91 e.printStackTrace();
92 System.out.println(e);
93 }
94
95 System.out.println("Done.");
96 PDFNet.terminate();
97 }
98}

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales