簡體   English   中英

在 java 中打印將標題設置為“Java 打印”

[英]printing in java sets a title somewhere to “Java Printing”

以下代碼有效,但是當我打印到 PDFCreator 打印機驅動程序時,它的默認標題是“Java 打印”。 (我懷疑 Adobe Distiller 也是如此,因為如果您在Google 上搜索帶有 Java Printing 的 PDF ,您會得到很多結果。)

有沒有辦法將它從“Java 打印”更改為另一個字符串?

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 上運行我的代碼,它不打印標題,所以我無法驗證它是否有效。

相同的答案,但對於DocPrintJob

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); 
pras.add(new JobName("your job name", Locale.getDefault())); 

docPrintJob.print(docToPrint, pras);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM