Java 调整页面大小以适应内容

Java 调整页面大小以适应内容,java,image,printing,Java,Image,Printing,我使用以下代码在java中打印图像。我的问题是无法更改默认页面大小。可打印区域将与内容相匹配。不应该超出这个范围 import java.awt.Graphics; import java.awt.Image; import java.awt.print.PageFormat; import java.awt.print.Paper; import java.awt.print.Printable; import java.awt.print.PrinterException; import j

我使用以下代码在java中打印图像。我的问题是无法更改默认页面大小。可打印区域将与内容相匹配。不应该超出这个范围

import java.awt.Graphics;
import java.awt.Image;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

import javax.swing.ImageIcon;

public class Test implements Printable{


    final static Image img = new ImageIcon("C:/Users/Public/Pictures/Sample Pictures/Koala1.jpg").getImage();
    PrinterJob printJob = PrinterJob.getPrinterJob();
    static int img_width=img.getWidth(null);
    static int img_height=img.getHeight(null);
     static PrinterJob pj = PrinterJob.getPrinterJob();

        public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {
            if (pageIndex != 0) {
                return NO_SUCH_PAGE;
            }
             pageFormat = pj.defaultPage();
            Paper paper = new Paper();
            paper.setSize(img_width,img_height); // Large Address Dimension
            paper.setImageableArea(20, 20, img_width, img_height);
            pageFormat.setPaper(paper);
            pageFormat.setOrientation(PageFormat.LANDSCAPE);
            g.drawImage(img, 0,0, img_width, img_height,   null);
            return PAGE_EXISTS;
        }



  static public void main(String args[]) throws Exception {


        pj.setPrintable(new Test());
        System.out.println("width: "+img_width +" height: "+img_height);
        if (pj.printDialog()) {
          try {
            pj.print();
          } catch (PrinterException e) {
            System.out.println(e);
          }
        }
  }
}
这是我得到的


我对您代码的理解是,您正在尝试将纸张缩放到图像大小……从而使图像显示为整页。您可能应该缩放图像以匹配页面。我的要求是缩放纸张以适应图像大小。就像一台记帐机。