Developer How To - SwissAS/jcgm-core GitHub Wiki
The examples presented here are part of the distribution in the net.sf.jcgm.example package (except for the PDF file example).
Reading and Displaying a CGM File
try {
File cgmFile = new File("test.cgm");
// create an input stream for the CGM file
DataInputStream in = new DataInputStream(new FileInputStream(cgmFile));
// read the CGM file
CGM cgm = new CGM();
cgm.read(in);
in.close();
// display the CGM file
CGMDisplay display = new CGMDisplay(cgm);
final CGMPanel cgmPanel = new CGMPanel(display);
}
catch (IOException e) {
...
}
Converting a CGM File to Another Graphic Format
Since the jcgm library implements an ImageIO plugin, it makes it easy to convert from CGM to any format supported by Java.
try {
File cgmFile = new File("samples/allelm01.cgm");
File outFile = new File("samples/allelm01.png");
BufferedImage image = ImageIO.read(cgmFile);
ImageIO.write(image, "PNG", outFile);
}
catch (IOException e) {
...
}
Producing a PDF file containing CGM graphics
Note Assumption is made that a PDF file can be produced via XSL/FO already, Apache FOP is a convenient processor for this. You need to include the jcgm-image library in your class path.
In your XSLT, somewhere you will add:
<fo:external-graphic src="url('samples/allelm01.cgm')"/>
Done