2017-06-21 12 views
0

1日中苦労して問題を特定しましたが、これで問題は解決しませんでした。短いオンPDFドライバを使用して印刷すると、ファイルに印刷オプションでPDFの代わりにPSが出力される

私は近くの単語を見つけ、いくつかの注意事項を、PDFを開くBW(グレースケール)に変換し、いくつかの単語を検索して挿入する必要があります。見た目は簡単ですが、PDFファイルがどのように処理されているかがわかりました(「単語」という概念はありません)。

グレースケールに変換する最初のタスクは、私を夢中にしました。私は商用または無料のどちらの解決策も見つけられませんでした。私はこの解決策を考え出した:

  • は、私は、このような3' をインストールするには、C#のユーザーを強制されますので、これは非常に醜いされているWindowsのドライバ、いくつかの無料のPDFプリンタ

でPDF

  • 印刷を開きます第二党のSWが、それは瞬間fprです。私はFreePDF、CutePDFとPDFCreatorをテストしました。彼らはすべて期待どおりに「スタンドアローン」で働いています。

    今、私は明らかに、C#のから印刷しようとしたとき、私は印刷ダイアログを望んでいない、単に(別名。変換)BWオプションと印刷を選択し

    次のコードは、単にPDFライブラリを使用して、ために示します明確さのみ。

    私が発見した何
       Aspose.Pdf.Facades.PdfViewer viewer = new Aspose.Pdf.Facades.PdfViewer(); 
           viewer.BindPdf(txtPDF.Text); 
    
           viewer.PrintAsGrayscale = true; 
           //viewer.RenderingOptions = new RenderingOptions { UseNewImagingEngine = true }; 
    
           //Set attributes for printing 
           //viewer.AutoResize = true;   //Print the file with adjusted size 
           //viewer.AutoRotate = true;   //Print the file with adjusted rotation 
           viewer.PrintPageDialog = true; //Do not produce the page number dialog when printing 
    
           ////PrinterJob printJob = PrinterJob.getPrinterJob(); 
    
           //Create objects for printer and page settings and PrintDocument 
           System.Drawing.Printing.PrinterSettings ps = new System.Drawing.Printing.PrinterSettings(); 
           System.Drawing.Printing.PageSettings pgs = new System.Drawing.Printing.PageSettings(); 
           //System.Drawing.Printing.PrintDocument prtdoc = new System.Drawing.Printing.PrintDocument(); 
    
    
           //prtdoc.PrinterSettings = ps; 
    
           //Set printer name 
           //ps.PrinterName = prtdoc.PrinterSettings.PrinterName; 
    
    
           ps.PrinterName = "CutePDF Writer"; 
           ps.PrintToFile = true; 
    
           ps.PrintFileName = @"test.pdf"; 
           // 
           //ps. 
    
           //Set PageSize (if required) 
           //pgs.PaperSize = new System.Drawing.Printing.PaperSize("A4", 827, 1169); 
    
           //Set PageMargins (if required) 
           //pgs.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0); 
    
           //Print document using printer and page settings 
           viewer.PrintDocumentWithSettings(ps); 
           //viewer.PrintDocument(); 
    
           //Close the PDF file after priting 
    

    と少し説明しているようで、あなたは真の

    ps.PrintToFile =を選択した場合ということです。

    C#のPDFライブラリまたはPDFプリンタドライバであれば、WindowsはPDFドライバをスキップするだけで、PDFファイルの代わりにAdobe Readerで認識されないPS(ポストスクリプト)ファイルを出力します。

    ここで、C#のPDFを印刷したい人がいるかもしれないという質問がありますが、たとえばCutePDFに印刷してもファイル名ダイアログを表示しないようにする方法はありますか?

    つまり、C#アプリケーションからプログラムで選択されたファイル名で静かに印刷するだけです。または、何らかの形で「PDFファイルに印刷」を説得して、WindowsのデフォルトのPSドライバではなくPDFドライバを使用するようにしてください。

    ありがとうございます。

  • 答えて

    関連する問題