Java 类java.awt.print.PrinterIOException 实例源码

项目:OpenJSharp    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:jdk8u-jdk    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:openjdk-jdk10    文件:PSPrinterJob.java   
public OutputStream run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:openjdk9    文件:PSPrinterJob.java   
public OutputStream run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:jdk8u_jdk    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:lookaside_java-1.8.0-openjdk    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:infobip-open-jdk-8    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:jdk8u-dev-jdk    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:jdk7-jdk    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = File.createTempFile("javaprint", ".ps", null);
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:jdk7-jdk    文件:PSPrinterJob.java   
public Object run() {
    try {
        /**
         * Spool to the printer.
         */
        if (spoolFile == null || !spoolFile.exists()) {
           pex = new PrinterException("No spool file");
           return null;
        }
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        spoolFile.delete();

    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    }
    return null;
}
项目:openjdk-source-code-learn    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = File.createTempFile("javaprint", ".ps", null);
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:openjdk-source-code-learn    文件:PSPrinterJob.java   
public Object run() {
    try {
        /**
         * Spool to the printer.
         */
        if (spoolFile == null || !spoolFile.exists()) {
           pex = new PrinterException("No spool file");
           return null;
        }
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        spoolFile.delete();

    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    }
    return null;
}
项目:OLD-OpenJDK8    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:openjdk-jdk7u-jdk    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:openjdk-icedtea7    文件:PSPrinterJob.java   
public Object run() {
    try {

            /* Write to a temporary file which will be spooled to
             * the printer then deleted. In the case that the file
             * is not removed for some reason, request that it is
             * removed when the VM exits.
             */
            spoolFile = Files.createTempFile("javaprint", ".ps").toFile();
            spoolFile.deleteOnExit();

        result = new FileOutputStream(spoolFile);
        return result;
    } catch (IOException ex) {
        // If there is an IOError we subvert it to a PrinterException.
        pex = new PrinterIOException(ex);
    }
    return null;
}
项目:openjdk9    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:jdk8u_jdk    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:lookaside_java-1.8.0-openjdk    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:infobip-open-jdk-8    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:jdk8u-dev-jdk    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:OLD-OpenJDK8    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:openjdk-jdk7u-jdk    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:openjdk-icedtea7    文件:PSPrinterJob.java   
public Object run() {
    if (spoolFile == null || !spoolFile.exists()) {
       pex = new PrinterException("No spool file");
       return null;
    }
    try {
        /**
         * Spool to the printer.
         */
        String fileName = spoolFile.getAbsolutePath();
        String execCmd[] = printExecCmd(mDestination, mOptions,
                       mNoJobSheet, getJobNameInt(),
                                        1, fileName);

        Process process = Runtime.getRuntime().exec(execCmd);
        process.waitFor();
        final int result = process.exitValue();
        if (0 != result) {
            handleProcessFailure(process, execCmd, result);
        }
    } catch (IOException ex) {
        pex = new PrinterIOException(ex);
    } catch (InterruptedException ie) {
        pex = new PrinterException(ie.toString());
    } finally {
        spoolFile.delete();
    }
    return null;
}
项目:OpenJSharp    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:jdk8u-jdk    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:openjdk-jdk10    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:openjdk9    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:jdk8u_jdk    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:lookaside_java-1.8.0-openjdk    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:infobip-open-jdk-8    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:jdk8u-dev-jdk    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:jdk7-jdk    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:openjdk-source-code-learn    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:OLD-OpenJDK8    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:openjdk-jdk7u-jdk    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}
项目:openjdk-icedtea7    文件:PSPrinterJob.java   
/**
 * Prints the contents of the array of ints, 'data'
 * to the current page. The band is placed at the
 * location (x, y) in device coordinates on the
 * page. The width and height of the band is
 * specified by the caller. Currently the data
 * is 24 bits per pixel in BGR format.
 */
protected void printBand(byte[] bgrData, int x, int y,
                         int width, int height)
    throws PrinterException
{

    mPSStream.println(IMAGE_SAVE);

    /* Create a PS string big enough to hold a row of pixels.
     */
    int psBytesPerRow = 3 * width;
    while (psBytesPerRow > MAX_PSSTR) {
        psBytesPerRow /= 2;
    }

    mPSStream.println(psBytesPerRow + IMAGE_STR);

    /* Scale and translate the unit image.
     */
    mPSStream.println("[" + width + " 0 "
                      + "0 " + height
                      + " " + x + " " + y
                      +"]concat");

    /* Color Image invocation.
     */
    mPSStream.println(width + " " + height + " " + 8 + "["
                      + width + " 0 "
                      + "0 " + -height
                      + " 0 " + height + "]"
                      + "/imageSrc load false 3 colorimage");

    /* Image data.
     */
    int index = 0;
    byte[] rgbData = new byte[width*3];

    try {
        for(int i = 0; i < height; i++) {
            index = swapBGRtoRGB(bgrData, index, rgbData);
            byte[] encodedData = rlEncode(rgbData);
            byte[] asciiData = ascii85Encode(encodedData);
            mPSStream.write(asciiData);
            mPSStream.println("");
        }

    } catch (IOException e) {
        throw new PrinterIOException(e);
    }

    mPSStream.println(IMAGE_RESTORE);
}