輸出のPDFファイル(だけでなく、ワードファイル)を生成する(追加する写真を含む)文書内の単語のフィールドを置き換えるのWinForm

1.電源を入れWord文書を使用すると、フィールドの値を置き換えたいのフォローアップに「しおり」を追加し、交換する必要があります。

 

2.テンプレートのドキュメントファイルは、デバッグプログラムに保存されています。

3.ボタンのクリックイベントのコードファイルを生成します。

   ストリング templatePath Application.StartupPathは+ = \\の.docxをテンプレート ; // のドキュメントテンプレートの物理パス

                文書DOC = 新しい新しいドキュメント(templatePath);
                 試み
                { 
                    ハッシュテーブル表 = 新しい新しいハッシュテーブル(); 
                    tables.Add(タイプ、AJ ); 
                    tables.Add(" " 、AF); 
                    tables.Add(" B型" 、BJ); 
                    tables.Add(B一価"BF); 
                    tables.Add(" F.タイプ" FJ)の、; 
                    tables.Add(" F.原子価、FF); 

//画像挿入
// Aspose.Words.DocumentBuilder builder1 =新しい新しいAspose.Words.DocumentBuilder(DOC ); /// / Response.ContentTypeの= pictureBox1.ImageLocation; //設定された出力ファイルタイプ // builder1.MoveToBookmark( "フォトモデレータ"); // builder1.InsertImage((バイト[])GetPictureData(pictureBox1.ImageLocation )、60、30); tables.Add(" 日付"、dtpBaogao.Value.ToString("YYYY年MM月DD日)); Tables.Add(" 日付2 "、dtpJieshou.Value.ToString(" YYYY.MM.DD " )); GetHTFile(DOC、テーブル)は、 文字列 downname txtName.Text + = " ----レポート.PDF " ; // doc.Save(downname、SaveFormat.Pdf); SaveFileDialog SaveDataを = 新しい新しい SaveFileDialogは(); // 開くために、ファイルを保存する SaveData.RestoreDirectory =をtrueに; //は、格納されたアップロード用ディレクトリを開き SaveData.Title= " パスを選択し、" ; // タイトル // SaveData.InitialDirectory = @ "C:\"; // デフォルトのパスはC:\、あなたが変更することができます SaveData.Filter = " PDFファイル(* .PDFを)| * .PDF " ; // のみ(必要に応じて変更することができます)SQLファイルとして保存することができます 文字列スクリプト= " " ; SaveData.FileName = txtName.Text + " ----レポート" ; IF(SaveData.ShowDialog()== DialogResult。 OK) //選択されたパスは、保存ボタンを押した場合 、{ スクリプト = SaveData.FileNameを; // スクリプトが格納されているパス選択に割り当て doc.Save(スクリプト、SaveFormat.Pdf); //ファイルは、ワードを生成するために、それは.WORD SaveFormat.Pdfを変化させます MessageBox.Show(" 世代の成功!" );

この.Close(); } } キャッチ(例外EX) { }

}
公共の バイト [] GetPictureData(文字列のImagePath)
{ 
/ ** / /// 画像ファイルのパスに従って使用/オープンファイルストリーム、バイト[]保存 
のFileStream FS = 新しい新規のFileStream(のImagePath、FileMode.Openを); // でき他のオーバーロードは、
バイト [] = byData 新しい新しい バイト[fs.Length]; 
fs.Read(byData、0 、byData.Length); 
fs.Close(); 
戻りbyDataを; 
} 
パブリック 静的 ボイドGetHTFile(文書DOCを、ハッシュテーブルテーブル)
{ 
BookmarkCollectionブックマーク = doc.Range.Bookmarks;
 foreachの(マークブックマークブックマーク)
{ 
場合(table.ContainsKey(mark.Name))
{ 
mark.Text = 表[mark.Name] .ToString(); 
} 
} 
}

注:Aspose.Words.dllを参照する必要があります

おすすめ

転載: www.cnblogs.com/bonnie-w/p/11289969.html