标签: printdialog

即使设置了值,打印范围也不起作用

我设置了一个简单的打印解决方案,正常打印工作正常(测试了几次),但是当我使用 PrintDialog 指定自定义页面范围时,就好像该范围被忽略了。当我调试时,我检查 printDocument 对象并确认范围值是正确的,但打印机生成的最终产品与我给出的值并不多。

这是我的代码:

            printDialog.Document = printdoc;
            printDialog.AllowSomePages = true;

            if (printDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                printdoc.PrinterSettings.FromPage = printDialog.PrinterSettings.FromPage;
                printdoc.PrinterSettings.ToPage = printDialog.PrinterSettings.ToPage;
                printdoc.PrinterSettings.PrintRange = printDialog.PrinterSettings.PrintRange;

                printPreviewDialog.Document = printdoc;
                printPreviewDialog.FindForm().WindowState = FormWindowState.Maximized;
                printPreviewDialog.ShowDialog();
            }
Run Code Online (Sandbox Code Playgroud)

*注意 - printdoc 是 System.Drawing.Printing.PrintDocument 的一个实例。我在 PrintDocument 的 PrintPage 事件处理程序中添加了代码来填充我正在打印的页面。

c# printing printdialog

2
推荐指数
1
解决办法
3052
查看次数

如果打印机对话框已取消,则不打印?

如果我运行此代码,并在PrintDialog上按取消,它仍会打印.如何判断使用是否取消?

PrintDocument document = new PrintDocument();
PrintDialog dialog = new PrintDialog();

dialog.ShowDialog();
document.PrinterSettings = p.PrinterSettings;
document.Print();
Run Code Online (Sandbox Code Playgroud)

附录

WebBrowser w = new WebBrowser();
w.ShowPrintDialog(); //.ShowPrintDialog returns a void, how can I deal with this?
Run Code Online (Sandbox Code Playgroud)

c# printing printdialog

1
推荐指数
1
解决办法
3277
查看次数

使用WebBrowser显示对话框

我想显示一个打印机对话框但是当我运行以下代码时,它会在ShowPrinterDialog打开时立即打印.换句话说,它不会等待ShowPrinterDialog在打印前关闭.

WebBrowser browser = new WebBrowser();
browser.DocumentText = "<b>Stack Overflow FTW!</b>";
browser.DocumentCompleted += Browser_DocumentCompleted;

void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    ((WebBrowser)sender).ShowPrinterDialog();
    ((WebBrowser)sender).Print();
}
Run Code Online (Sandbox Code Playgroud)

有想法该怎么解决这个吗?

.net c# printdialog webbrowser-control winforms

1
推荐指数
1
解决办法
1417
查看次数

使PrinterJob对象适合BufferedImage的特定打印格式

我正在使用PrinterJob对象来打印我的Bufferedimage,我有一个BufferedImage,我将其处理并将其发送到具有Paper Format等的Printer作业,但是我无法使其适合我的证卡打印机。当我将其保存到硬盘上并通过Windows打印管理器进行打印时,它在我的证卡打印机上打印得很好,但是使用PrinterJob时,它太大了,无法容纳证卡

卡的尺寸为86X54mm,缓冲图像的尺寸为1300x816px代码:

    PrinterJob printjob = PrinterJob.getPrinterJob();
    printjob.setJobName("CardPrint");

    Printable printable = new Printable() {

            public int print(Graphics pg, PageFormat pf, int pageNum) {

                    if (pageNum > 0) {
                            return Printable.NO_SUCH_PAGE;
                    }
                    JLayeredPane j1 = new JLayeredPane();
                    Dimension size = j1.getSize();

                    j1.print(bi.getGraphics());

                    Graphics2D g2 = (Graphics2D) pg;
                    g2.translate(pf.getImageableX(), pf.getImageableY());
                    g2.drawImage(bi, 0, 0, (int) pf.getWidth(), (int) pf.getHeight(), null);

                    return Printable.PAGE_EXISTS;
            }
    };

    Paper paper = new Paper();
    paper.setImageableArea(0, 0, 0, 0);
    paper.setSize(1.15, 0.72);

    PageFormat format = new PageFormat();
    format.setPaper(paper);


    printjob.setPrintable(printable, format);

    try …
Run Code Online (Sandbox Code Playgroud)

java eclipse printing printdialog graphics2d

0
推荐指数
1
解决办法
5499
查看次数