import java.io.IOException;
import com.gnostice.pdfone.PDFOne;
import com.gnostice.pdfone.PdfDocument;
import com.gnostice.pdfone.PdfException;
import com.gnostice.pdfone.PdfImage;
import com.gnostice.pdfone.PdfMeasurement;
import com.gnostice.pdfone.PdfPage;
import com.gnostice.pdfone.PdfWriter;
public class PdfMeasurement_Examples
{
// Activates the component PDFOne.jar
static
{
PDFOne.activate("T95VZE:W8HBPVA:74VQ8QV:LO4V8",
"9B1HRZAP:X5853ERNE:5EREMEGRQ:TX1R10");
}
public static void main(String[] args) throws IOException,
PdfException
{
PdfMeasurement_Examples obj = new PdfMeasurement_Examples();
// To try other examples, add the obj.<example_method>
// accordingly. For example, try:
// obj.convertToPdfUnit_Example();
obj.convertToMeasurementUnit_Example();;
}
// This code segment creates a page 600 points wide and 800
// points long. However, it uses a method that specifies page
// dimensions in inches. Hence, the convertToMeasurementUnit
// method is used to convert point values to inches.
public void convertToMeasurementUnit_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfMeasurement_convertToMeasurementUnit_Example.pdf");
PdfDocument document = new PdfDocument(writer);
// Converts page dimensions from points to inches
double b = PdfMeasurement.convertToMeasurementUnit(
PdfMeasurement.MU_INCHES,
600);
double h = PdfMeasurement.convertToMeasurementUnit(
PdfMeasurement.MU_INCHES,
800);
// Creates a page with above dimensions
PdfPage page = new PdfPage(b, h, PdfMeasurement.MU_INCHES);
// Writes text identifying the page
page.writeText(
"This page is 600 points wide and 800 points long!",
2, 1);
page.writeText(
"It was created with method PdfPage(b, h, "
+ "PdfMeasurement.MU_INCHES)",
2, 1.2);
page.writeText(
"where b = " + b
+ " inches and h = " + h
+ " inches.",
2, 1.4);
document.add(page);
// Sets the file to be opened after it is written to
document.setOpenAfterSave(true);
// Writes the document object to file
document.write();
// Closes all I/O streams associated with this writer object
writer.dispose();
}
// This code segment draws an image using a method that requires
// the image dimensions to be specified in points. However, the
// image dimensions are known only in pixels. Hence, the
// convertToPdfUnit method is used to convert pixel values to
// points.
public void convertToPdfUnit_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfMeasurement_convertToPdfUnit_Example.pdf");
PdfDocument document = new PdfDocument(writer);
// Creates a PdfImage object. Assumes that an image file
// banner_img_468_60.jpg exists inside a "InputDocs"
// directory in the current directory. Also assumes that
// the image is assumed 468 pixels wide and 60 pixels tall.
PdfImage image = PdfImage.create(
".\\InputDocs\\banner_img_468_60.jpg");
// Converts image dimensions from pixels to points
double b = PdfMeasurement.convertToPdfUnit(
PdfMeasurement.MU_PIXELS,
468);
double h = PdfMeasurement.convertToPdfUnit(
PdfMeasurement.MU_PIXELS,
60);
// Draws the image with its height and width specified in
// points. Requires width and height arguments to be
// specified in points.
document.drawImage(image, 200, 100, b, h);
// Writes text identifying the image
document.writeText("b = " + b + " points", 200, 60);
document.writeText("h = " + h + " points", 200, 70);
document.writeText("drawImage(image, 200, 100, b, h)",
200,
80);
// Sets the file to be opened after it is written to
document.setOpenAfterSave(true);
// Writes the document object to file
document.write();
// Closes all I/O streams associated with this writer object
writer.dispose();
}
}