2011-04-15 10 views
0

は、私がアプリケーションを実行するとCutePdfライター変換ワード文書は

 PrintDialog pDia = new PrintDialog(); 
     PrinterSettings ps = new PrinterSettings(); 
     pDia.Document = printDocumentMessageBoxTest; 
     pDia.Document.DocumentName = "C:\\FinalGap.doc"; 

     ps.PrinterName = "CutePDF Writer"; 
     ps.PrintToFile = true; 

     ps.PrintFileName = "C:\\" + Path.GetFileNameWithoutExtension(pDia.Document.DocumentName) + ".pdf"; 

     // take printer settings from the dialog and set into the PrintDocument object 
     pDia.Document.OriginAtMargins = true; 
     ps.DefaultPageSettings.Margins.Left = 2; 
     //printDocumentMessageBoxTest.PrinterSettings = ps; 

     // start the printing process, catch exceptions 
     try 
     { 
      printDocumentMessageBoxTest.Print(); 
     } 
     catch (Exception exc) 
     { 
      MessageBox.Show("Printing error!\n" + exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 

を使用してPDFにWord文書を変換するために、次のコードを持って、それは出力ファイルBU Word文書を印刷しているC#でプログラム的CutePdfを使用してPDFに生成されません。 誰も私の言葉の文書をプログラム的にCUTEPDFを使ってpdfに変換する方法を教えてもらえますか?

+0

'printDocumentMessageBoxTest.PrinterSettings = ps;'ステートメントのコメントを削除してみてください。 – Yog

答えて

3

CutePdf Writerは自動化をサポートしていません。あなたはそれを使用しようとしている方法で使用することはできません。あなたはそれらからCustom Pdf Writerを購入し、その後、あなたはコードは次のようなものになりますことができます。

 string regKey = @"HKEY_CURRENT_USER\Software\Custom PDF Printer"; 
     Registry.SetValue(regKey, "OutputFile", @"C:\Sample.pdf", RegistryValueKind.String); 
     Registry.SetValue(regKey, "BypassSaveAs", @"1", RegistryValueKind.String); 
     Application wordApp = new Word.Application(); 
     Document wordDoc = wordApp.Documents.Open(@"C:\test.doc"); 
     wordApp.ActivePrinter = "Custom PDF Printer"; 
     wordApp.PrintOut(); 
     wordDoc.Close(); 
     Registry.SetValue(regKey, "BypassSaveAs", @"0", RegistryValueKind.String); 

も参照してください:

私は個人的にプロジェクトのABCPdfを使用し、しかし私は、私の目標ではないドキュメントからではなく、HTMLをPDFへ変換し、コンポーネントは無料ではありませんでした、それが好き。

関連する問題