1日中苦労して問題を特定しましたが、これで問題は解決しませんでした。短いオンPDFドライバを使用して印刷すると、ファイルに印刷オプションでPDFの代わりにPSが出力される
:
私は近くの単語を見つけ、いくつかの注意事項を、PDFを開くBW(グレースケール)に変換し、いくつかの単語を検索して挿入する必要があります。見た目は簡単ですが、PDFファイルがどのように処理されているかがわかりました(「単語」という概念はありません)。
グレースケールに変換する最初のタスクは、私を夢中にしました。私は商用または無料のどちらの解決策も見つけられませんでした。私はこの解決策を考え出した:
- は、私は、このような3' をインストールするには、C#のユーザーを強制されますので、これは非常に醜いされているWindowsのドライバ、いくつかの無料のPDFプリンタ
でPDF
今、私は明らかに、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ドライバを使用するようにしてください。
ありがとうございます。