"Hello world"
문자열을 PDF로 인쇄하려고합니다. 이것은 내 코드입니다 :Java에서 PDF 프린터로 인쇄 할 수 없습니다.
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.ServiceUI;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.event.PrintJobAdapter;
import javax.print.event.PrintJobEvent;
public class App {
public static void main(String[] args) throws Exception {
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, null);
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
PrintService service = ServiceUI.printDialog(null, 200, 200, services, null, flavor, pras);
// prints the famous hello world! plus a form feed
InputStream is = new ByteArrayInputStream("hello world!\f".getBytes("UTF8"));
Doc doc = new SimpleDoc(is, flavor, null);
DocPrintJob job = service.createPrintJob();
job.print(doc, pras);
}
}
'인쇄'대화 상자가 표시되면 "Foxif Reader PDF Printer"를 선택하십시오. 인쇄 작업이 제출 된 것으로 보이지만 인쇄 된 PDF 파일을 어디에서 찾을 수 있는지 알 수 없습니다. 이론적으로, 프린터는 PDF 파일의 위치에 대해 물어야합니다 (Paint와 메모장에서 인쇄 할 때 묻기 때문에). 그러나 대화 상자는 없습니다. 일은 조용합니다.
내 코드가 PDF로 인쇄 할 때 표준 Windows "다른 이름으로 저장"대화 상자를 표시하는 방법은 무엇입니까?
이 환경 설정을 시도해보십시오. [Here] http://stackoverflow.com/questions/2885173/java-how-to-create-and-write-to-a-file – user3562918