簡體   English   中英

使用Foxit Reader從進程進行靜默打印可打開GUI

[英]Silent print with Foxit Reader from process opens GUI

我在通過Foxit Reader打印PDF時遇到了麻煩。.問題不是不是在打印,而是在嘗試加載GUI時..我希望打印僅在后台進行...

到目前為止,我讀到的所有內容都表明下面的代碼實際上應該在后台打印,但是對於每個打印作業,Foxit GUI都會彈出...在打印后,GUI也會關閉,但是我不希望在打開后打開第一名。 如果這很重要,我將從托管WCF服務的控制台應用程序執行以下代碼...

        ProcessStartInfo psInfo = new ProcessStartInfo();
        psInfo.FileName = FoxitReaderLocation;
        psInfo.Arguments = String.Format("/t \"{0}\" \"{1}\"",
            fileLocation,
            printerName);
        psInfo.WindowStyle = ProcessWindowStyle.Hidden;
        psInfo.CreateNoWindow = true;
        psInfo.UseShellExecute = true;
        Process process = Process.Start(psInfo);
        process.WaitForExit(10000);
        if (!process.HasExited)
        {
            process.Kill();
            process.Dispose();
        }

默認情況下,使用/p "filelocation"打印也可以使用,但是GUI也會出現相同的問題。 使用Adobe Reader會靜默執行此操作,但不會打印我一半的文件(但是,同樣,官方不支持Adobe Reader的命令行界面,因此請不要建議使用Adobe Reader)

資料來源:

我認為這是新版福昕閱讀器的設計。

刪除從官方網站下載的最新版本,並從Old Apps安裝舊版本( 6.2.3 )。 打印后該過程立即終止。

遇到了同樣的問題,但是當我重新排列字符串中的參數時,它得到了解決:

startInfo.Arguments = String.Format(" \"{0}\" /t  \"{1}\"",
      reportFullPath,
      printerName);

嘗試設置WindowStyle屬性,大多數窗口應用程序都會監聽它:

psInfo.WindowStyle = ProcessWindowStyle.Hidden;

此外, 文檔指出CreateNoWindow與UseShellExecute不兼容,因此您應該將其關閉:

psInfo.UseShellExecute = false; //Using ShellExecute messes stuff up

但是,CreateNoWindow實際上指定是否對控制台應用程序使用現有控制台窗口, [1]並且可以不指定,因為它對GUI應用程序的啟動沒有影響。

暫無
暫無

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

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