com.aspose.words

Class ConvertUtil

  • java.lang.Object
    • com.aspose.words.ConvertUtil
public abstract class ConvertUtil 
extends java.lang.Object

Provides helper functions to convert between various measurement units.

Example:

Shows how to adjust paper size, orientation, margins and other settings for a section.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.getPageSetup().setPaperSize(PaperSize.LEGAL);
builder.getPageSetup().setOrientation(Orientation.LANDSCAPE);
builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0));
builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0));
builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5));
builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5));
builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2));
builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2));

builder.writeln("Hello world.");

doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");

Example:

Shows how to specify page properties in inches.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// The distance between text and page boundaries is defined in Page Setup, in points
// We can also use ConvertUtil to use a more familiar measurement unit like inches to points when defining boundaries
PageSetup pageSetup = builder.getPageSetup();
pageSetup.setTopMargin(ConvertUtil.inchToPoint(1.0));
pageSetup.setBottomMargin(ConvertUtil.inchToPoint(2.0));
pageSetup.setLeftMargin(ConvertUtil.inchToPoint(2.5));
pageSetup.setRightMargin(ConvertUtil.inchToPoint(1.5));

// An inch is 72 points
Assert.assertEquals(72.0d, ConvertUtil.inchToPoint(1.0));
Assert.assertEquals(1.0d, ConvertUtil.pointToInch(72.0));

// Add content to demonstrate these changes
builder.writeln(MessageFormat.format("This Text is {0} points/{1} inches from the left, ",
        pageSetup.getLeftMargin(), ConvertUtil.pointToInch(pageSetup.getLeftMargin())) +
                MessageFormat.format("{0} points/{1} inches from the right, ",
                        pageSetup.getRightMargin(), ConvertUtil.pointToInch(pageSetup.getRightMargin())) +
                MessageFormat.format("{0} points/{1} inches from the top, ",
                        pageSetup.getTopMargin(), ConvertUtil.pointToInch(pageSetup.getTopMargin())) +
                MessageFormat.format("and {0} points/{1} inches from the bottom of the page.",
                        pageSetup.getBottomMargin(), ConvertUtil.pointToInch(pageSetup.getBottomMargin())));

doc.save(getArtifactsDir() + "UtilityClasses.PointsAndInches.docx");

Method Summary
static doubleinchToPoint(double inches)
Converts inches to points.
static doublemillimeterToPoint(double millimeters)
Converts millimeters to points.
static intpixelToNewDpi(double pixels, double oldDpi, double newDpi)
Converts pixels from one resolution to another.
static doublepixelToPoint(double pixels)
Converts pixels to points at 96 dpi.
static doublepixelToPoint(double pixels, double resolution)
Converts pixels to points at the specified pixel resolution.
static doublepointToInch(double points)
Converts points to inches.
static doublepointToPixel(double points)
Converts points to pixels at 96 dpi.
static doublepointToPixel(double points, double resolution)
Converts points to pixels at the specified pixel resolution.
 

    • Method Detail

      • inchToPoint

        public static double inchToPoint(double inches)
        Converts inches to points. 1 inch equals 72 points.
        Parameters:
        inches - The value to convert.

        Example:

        Shows how to specify page properties in inches.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // The distance between text and page boundaries is defined in Page Setup, in points
        // We can also use ConvertUtil to use a more familiar measurement unit like inches to points when defining boundaries
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.inchToPoint(1.0));
        pageSetup.setBottomMargin(ConvertUtil.inchToPoint(2.0));
        pageSetup.setLeftMargin(ConvertUtil.inchToPoint(2.5));
        pageSetup.setRightMargin(ConvertUtil.inchToPoint(1.5));
        
        // An inch is 72 points
        Assert.assertEquals(72.0d, ConvertUtil.inchToPoint(1.0));
        Assert.assertEquals(1.0d, ConvertUtil.pointToInch(72.0));
        
        // Add content to demonstrate these changes
        builder.writeln(MessageFormat.format("This Text is {0} points/{1} inches from the left, ",
                pageSetup.getLeftMargin(), ConvertUtil.pointToInch(pageSetup.getLeftMargin())) +
                        MessageFormat.format("{0} points/{1} inches from the right, ",
                                pageSetup.getRightMargin(), ConvertUtil.pointToInch(pageSetup.getRightMargin())) +
                        MessageFormat.format("{0} points/{1} inches from the top, ",
                                pageSetup.getTopMargin(), ConvertUtil.pointToInch(pageSetup.getTopMargin())) +
                        MessageFormat.format("and {0} points/{1} inches from the bottom of the page.",
                                pageSetup.getBottomMargin(), ConvertUtil.pointToInch(pageSetup.getBottomMargin())));
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndInches.docx");

        Example:

        Shows how to adjust paper size, orientation, margins and other settings for a section.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        builder.getPageSetup().setPaperSize(PaperSize.LEGAL);
        builder.getPageSetup().setOrientation(Orientation.LANDSCAPE);
        builder.getPageSetup().setTopMargin(ConvertUtil.inchToPoint(1.0));
        builder.getPageSetup().setBottomMargin(ConvertUtil.inchToPoint(1.0));
        builder.getPageSetup().setLeftMargin(ConvertUtil.inchToPoint(1.5));
        builder.getPageSetup().setRightMargin(ConvertUtil.inchToPoint(1.5));
        builder.getPageSetup().setHeaderDistance(ConvertUtil.inchToPoint(0.2));
        builder.getPageSetup().setFooterDistance(ConvertUtil.inchToPoint(0.2));
        
        builder.writeln("Hello world.");
        
        doc.save(getArtifactsDir() + "PageSetup.PageMargins.docx");
      • millimeterToPoint

        public static double millimeterToPoint(double millimeters)
        Converts millimeters to points. 1 inch equals 25.4 millimeters. 1 inch equals 72 points.
        Parameters:
        millimeters - The value to convert.

        Example:

        Shows how to specify page properties in millimeters.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // The distance between text and page boundaries is defined in Page Setup, in points
        // We can also use ConvertUtil to use a more familiar measurement unit like millimeters to points when defining boundaries
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.millimeterToPoint(30.0));
        pageSetup.setBottomMargin(ConvertUtil.millimeterToPoint(50.0));
        pageSetup.setLeftMargin(ConvertUtil.millimeterToPoint(80.0));
        pageSetup.setRightMargin(ConvertUtil.millimeterToPoint(40.0));
        
        // A centimeter is approximately 28.3 points
        Assert.assertEquals(28.34d, ConvertUtil.millimeterToPoint(10.0), 0.01d);
        
        // Add content to demonstrate these changes
        builder.writeln(MessageFormat.format("This Text is {0} points from the left, ", pageSetup.getLeftMargin()) +
                        MessageFormat.format("{0} points from the right, ", pageSetup.getRightMargin()) +
                        MessageFormat.format("{0} points from the top, ", pageSetup.getTopMargin()) +
                        MessageFormat.format("and {0} points from the bottom of the page.", pageSetup.getBottomMargin()));
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndMillimeters.docx");
      • pixelToNewDpi

        public static int pixelToNewDpi(double pixels, double oldDpi, double newDpi)
        Converts pixels from one resolution to another.
        Parameters:
        pixels - The value to convert.
        oldDpi - The current dpi (dots per inch) resolution.
        newDpi - The new dpi (dots per inch) resolution.

        Example:

        Shows how to use convert points to pixels with default and custom resolution.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Define a custom pixel resolution
        double myDpi = 192.0;
        
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.pixelToPoint(100.0, myDpi));
        Assert.assertEquals(37.5d, pageSetup.getTopMargin(), 0.01d);
        
        // At the default DPI of 96, a pixel is 0.75 points
        Assert.assertEquals(0.75d, ConvertUtil.pixelToPoint(1.0));
        
        builder.writeln(MessageFormat.format("This Text is {0} points/{1} ",
                pageSetup.getTopMargin(), ConvertUtil.pointToPixel(pageSetup.getTopMargin(), myDpi)) +
                MessageFormat.format("pixels (at a DPI of {0}) from the top of the page.", myDpi));
        
        // Set a new DPI and adjust the top margin value accordingly
        double newDpi = 300.0;
        pageSetup.setTopMargin(ConvertUtil.pixelToNewDpi(pageSetup.getTopMargin(), myDpi, newDpi));
        Assert.assertEquals(59.0d, pageSetup.getTopMargin(), 0.01d);
        
        builder.writeln(MessageFormat.format("At a DPI of {0}, the text is now {1} points/{2} ",
                newDpi, pageSetup.getTopMargin(), ConvertUtil.pointToPixel(pageSetup.getTopMargin(), myDpi)) +
                "pixels from the top of the page.");
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndPixelsDpi.docx");
      • pixelToPoint

        public static double pixelToPoint(double pixels)
        Converts pixels to points at 96 dpi. 1 inch equals 72 points.
        Parameters:
        pixels - The value to convert.

        Example:

        Shows how to specify page properties in pixels.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // The distance between text and page boundaries is defined in Page Setup, in points
        // We can also use ConvertUtil to use pixels when defining boundaries
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.pixelToPoint(100.0));
        pageSetup.setBottomMargin(ConvertUtil.pixelToPoint(200.0));
        pageSetup.setLeftMargin(ConvertUtil.pixelToPoint(225.0));
        pageSetup.setRightMargin(ConvertUtil.pixelToPoint(125.0));
        
        // A pixel is 0.75 points
        Assert.assertEquals(0.75d, ConvertUtil.pixelToPoint(1.0));
        Assert.assertEquals(1.0d, ConvertUtil.pointToPixel(0.75));
        
        // The default DPI value used is 96
        Assert.assertEquals(0.75d, ConvertUtil.pixelToPoint(1.0, 96.0));
        
        // Add content to demonstrate these changes
        builder.writeln(MessageFormat.format("This Text is {0} points/{1} inches from the left, ",
                pageSetup.getLeftMargin(), ConvertUtil.pointToInch(pageSetup.getLeftMargin())) +
                MessageFormat.format("{0} points/{1} inches from the right, ",
                        pageSetup.getRightMargin(), ConvertUtil.pointToInch(pageSetup.getRightMargin())) +
                MessageFormat.format("{0} points/{1} inches from the top, ",
                        pageSetup.getTopMargin(), ConvertUtil.pointToInch(pageSetup.getTopMargin())) +
                MessageFormat.format("and {0} points/{1} inches from the bottom of the page.",
                        pageSetup.getBottomMargin(), ConvertUtil.pointToInch(pageSetup.getBottomMargin())));
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndPixels.docx");
      • pixelToPoint

        public static double pixelToPoint(double pixels, double resolution)
        Converts pixels to points at the specified pixel resolution. 1 inch equals 72 points.
        Parameters:
        pixels - The value to convert.
        resolution - The dpi (dots per inch) resolution.

        Example:

        Shows how to use convert points to pixels with default and custom resolution.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Define a custom pixel resolution
        double myDpi = 192.0;
        
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.pixelToPoint(100.0, myDpi));
        Assert.assertEquals(37.5d, pageSetup.getTopMargin(), 0.01d);
        
        // At the default DPI of 96, a pixel is 0.75 points
        Assert.assertEquals(0.75d, ConvertUtil.pixelToPoint(1.0));
        
        builder.writeln(MessageFormat.format("This Text is {0} points/{1} ",
                pageSetup.getTopMargin(), ConvertUtil.pointToPixel(pageSetup.getTopMargin(), myDpi)) +
                MessageFormat.format("pixels (at a DPI of {0}) from the top of the page.", myDpi));
        
        // Set a new DPI and adjust the top margin value accordingly
        double newDpi = 300.0;
        pageSetup.setTopMargin(ConvertUtil.pixelToNewDpi(pageSetup.getTopMargin(), myDpi, newDpi));
        Assert.assertEquals(59.0d, pageSetup.getTopMargin(), 0.01d);
        
        builder.writeln(MessageFormat.format("At a DPI of {0}, the text is now {1} points/{2} ",
                newDpi, pageSetup.getTopMargin(), ConvertUtil.pointToPixel(pageSetup.getTopMargin(), myDpi)) +
                "pixels from the top of the page.");
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndPixelsDpi.docx");
      • pointToInch

        public static double pointToInch(double points)
        Converts points to inches. 1 inch equals 72 points.
        Parameters:
        points - The value to convert.

        Example:

        Shows how to specify page properties in inches.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // The distance between text and page boundaries is defined in Page Setup, in points
        // We can also use ConvertUtil to use a more familiar measurement unit like inches to points when defining boundaries
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.inchToPoint(1.0));
        pageSetup.setBottomMargin(ConvertUtil.inchToPoint(2.0));
        pageSetup.setLeftMargin(ConvertUtil.inchToPoint(2.5));
        pageSetup.setRightMargin(ConvertUtil.inchToPoint(1.5));
        
        // An inch is 72 points
        Assert.assertEquals(72.0d, ConvertUtil.inchToPoint(1.0));
        Assert.assertEquals(1.0d, ConvertUtil.pointToInch(72.0));
        
        // Add content to demonstrate these changes
        builder.writeln(MessageFormat.format("This Text is {0} points/{1} inches from the left, ",
                pageSetup.getLeftMargin(), ConvertUtil.pointToInch(pageSetup.getLeftMargin())) +
                        MessageFormat.format("{0} points/{1} inches from the right, ",
                                pageSetup.getRightMargin(), ConvertUtil.pointToInch(pageSetup.getRightMargin())) +
                        MessageFormat.format("{0} points/{1} inches from the top, ",
                                pageSetup.getTopMargin(), ConvertUtil.pointToInch(pageSetup.getTopMargin())) +
                        MessageFormat.format("and {0} points/{1} inches from the bottom of the page.",
                                pageSetup.getBottomMargin(), ConvertUtil.pointToInch(pageSetup.getBottomMargin())));
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndInches.docx");
      • pointToPixel

        public static double pointToPixel(double points)
        Converts points to pixels at 96 dpi. 1 inch equals 72 points.
        Parameters:
        points - The value to convert.

        Example:

        Shows how to specify page properties in pixels.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // The distance between text and page boundaries is defined in Page Setup, in points
        // We can also use ConvertUtil to use pixels when defining boundaries
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.pixelToPoint(100.0));
        pageSetup.setBottomMargin(ConvertUtil.pixelToPoint(200.0));
        pageSetup.setLeftMargin(ConvertUtil.pixelToPoint(225.0));
        pageSetup.setRightMargin(ConvertUtil.pixelToPoint(125.0));
        
        // A pixel is 0.75 points
        Assert.assertEquals(0.75d, ConvertUtil.pixelToPoint(1.0));
        Assert.assertEquals(1.0d, ConvertUtil.pointToPixel(0.75));
        
        // The default DPI value used is 96
        Assert.assertEquals(0.75d, ConvertUtil.pixelToPoint(1.0, 96.0));
        
        // Add content to demonstrate these changes
        builder.writeln(MessageFormat.format("This Text is {0} points/{1} inches from the left, ",
                pageSetup.getLeftMargin(), ConvertUtil.pointToInch(pageSetup.getLeftMargin())) +
                MessageFormat.format("{0} points/{1} inches from the right, ",
                        pageSetup.getRightMargin(), ConvertUtil.pointToInch(pageSetup.getRightMargin())) +
                MessageFormat.format("{0} points/{1} inches from the top, ",
                        pageSetup.getTopMargin(), ConvertUtil.pointToInch(pageSetup.getTopMargin())) +
                MessageFormat.format("and {0} points/{1} inches from the bottom of the page.",
                        pageSetup.getBottomMargin(), ConvertUtil.pointToInch(pageSetup.getBottomMargin())));
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndPixels.docx");
      • pointToPixel

        public static double pointToPixel(double points, double resolution)
        Converts points to pixels at the specified pixel resolution. 1 inch equals 72 points.
        Parameters:
        points - The value to convert.
        resolution - The dpi (dots per inch) resolution.

        Example:

        Shows how to use convert points to pixels with default and custom resolution.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Define a custom pixel resolution
        double myDpi = 192.0;
        
        PageSetup pageSetup = builder.getPageSetup();
        pageSetup.setTopMargin(ConvertUtil.pixelToPoint(100.0, myDpi));
        Assert.assertEquals(37.5d, pageSetup.getTopMargin(), 0.01d);
        
        // At the default DPI of 96, a pixel is 0.75 points
        Assert.assertEquals(0.75d, ConvertUtil.pixelToPoint(1.0));
        
        builder.writeln(MessageFormat.format("This Text is {0} points/{1} ",
                pageSetup.getTopMargin(), ConvertUtil.pointToPixel(pageSetup.getTopMargin(), myDpi)) +
                MessageFormat.format("pixels (at a DPI of {0}) from the top of the page.", myDpi));
        
        // Set a new DPI and adjust the top margin value accordingly
        double newDpi = 300.0;
        pageSetup.setTopMargin(ConvertUtil.pixelToNewDpi(pageSetup.getTopMargin(), myDpi, newDpi));
        Assert.assertEquals(59.0d, pageSetup.getTopMargin(), 0.01d);
        
        builder.writeln(MessageFormat.format("At a DPI of {0}, the text is now {1} points/{2} ",
                newDpi, pageSetup.getTopMargin(), ConvertUtil.pointToPixel(pageSetup.getTopMargin(), myDpi)) +
                "pixels from the top of the page.");
        
        doc.save(getArtifactsDir() + "UtilityClasses.PointsAndPixelsDpi.docx");