我們必須在Java中構建一些軟件,最終打印一些文檔。不同的文檔應該放在打印機的不同托盤上。由於在開發過程中我們沒有與客戶相同的打印機,因此我們正在尋找一小部分模擬打印機的軟件。我們應該能夠配置該模擬,例如有多少托盤可用。嘲笑打印機
有沒有人知道這樣的工具爲Mac或Windows?
我們必須在Java中構建一些軟件,最終打印一些文檔。不同的文檔應該放在打印機的不同托盤上。由於在開發過程中我們沒有與客戶相同的打印機,因此我們正在尋找一小部分模擬打印機的軟件。我們應該能夠配置該模擬,例如有多少托盤可用。嘲笑打印機
有沒有人知道這樣的工具爲Mac或Windows?
你可以在windows上自己創建一個虛擬打印機,不需要任何特殊的軟件。
在Windows 7中:
如果將其設置爲默認打印機,應該很容易使用java代碼。
您可以安裝可用作Java應用程序虛擬打印機的PDF打印。基本上,你要做的是安裝一個免費的PDF打印機,並讓你的Java應用程序發現該打印服務並打印該服務的任何文檔。 我記得,當我沒有打印機時,我遇到了同樣的情況,我使用下面給出的代碼將我的應用程序與虛擬打印機連接起來。
public class HelloWorldPrinter implements Printable, ActionListener {
public int print(Graphics g, PageFormat pf, int page) throws
PrinterException {
if (page > 0) { /* We have only one page, and 'page' is zero-based */
return NO_SUCH_PAGE;
}
/* User (0,0) is typically outside the imageable area, so we must
* translate by the X and Y values in the PageFormat to avoid clipping
*/
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
/* Now we perform our rendering */
g.drawString("Hello world!", 100, 100);
/* tell the caller that this page is part of the printed document */
return PAGE_EXISTS;
}
public void actionPerformed(ActionEvent e) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
PrintService[] printServices = PrinterJob.lookupPrintServices();
try {
job.setPrintService(printServices[0]);
job.print();
} catch (PrinterException ex) {
Logger.getLogger(HelloWorldPrinter.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String args[]) {
UIManager.put("swing.boldMetal", Boolean.FALSE);
JFrame f = new JFrame("Hello World Printer");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
JButton printButton = new JButton("Print Hello World");
printButton.addActionListener(new HelloWorldPrinter());
f.add("Center", printButton);
f.pack();
f.setVisible(true);
}
}
「PDF打印機」工作嗎?不過,我不確定每次創建的文檔是否足以作爲自動化測試套件的一部分使用。我也很確定這不會暴露類似打印機的東西,比如托盤。 – Charles
嘲笑的打印機實際上是否需要對輸入做任何事情,或者如果它只是接受這些東西並將它發送給NUL,它可以嗎? – eis
已經在網上搜索了嗎? – ggcodes