以下代码有效,但是当我打印到PDFCreator打印机驱动程序时,其默认标题为“Java Printing”。 (我怀疑这对Adobe Distiller也是正确的,因为如果您search google for PDFs with Java Printing,您会得到很多结果。)
有没有办法将其从“Java Printing”更改为另一个字符串?
package com.example.test.gui;
import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class TestPrint implements Printable
{
@Override public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
if (pageIndex != 0)
return NO_SUCH_PAGE;
graphics.drawString("Hi there", 100, 100);
return PAGE_EXISTS;
}
public void printPage() throws PrinterException
{
PrinterJob job = PrinterJob.getPrinterJob();
boolean ok = job.printDialog();
if (ok) {
job.setPrintable(this);
job.print();
}
}
public static void main(String[] args) {
try {
new TestPrint().printPage();
}
catch (PrinterException e) {
e.printStackTrace();
}
}
}
最佳答案
您是否尝试过此setJobName(String jobName)。
job.setJobName("New Printing Name");
API表示它是要打印的文档的名称。
我在Ubuntu上运行我的代码,它不显示标题,所以我无法验证它是否有效。