資源簡介
開發環境:
VS2005
包含:
1、格式化打印控件PrintControl.dll 及源碼
2、打印模板示例PrtTemplate.xml
3、調用PrintControl.dll 使用打印模板進行打印的例子
特點:
1、XML模板可設置打印條目的位置,字體,大小
2、支持預覽打印,直接打印等
3、具體使用方法參見調用例“PrintControlTest”
代碼簡單明了,可作為格式化打印,套打程序參考,希望對您有所啟發和幫助,謝謝:)
代碼片段和文件信息
using?System;
using?System.xml;
using?System.Data;
using?System.Drawing;
using?System.Collections;
using?System.ComponentModel;
using?System.Windows.Forms;
using?System.IO;
using?System.Drawing.Printing;
namespace?UDF.GUI.PrintControl
{
????public?class?FormatPrint
????{
????????private?SortedList?m_PrintPoint_List?=?new?SortedList();
????????///?
????????///?從打印模版文件中讀取點陣數據,并保存到Hash表中
????????///?
????????///?
????????public??void?loadPrintTemplate(string?p_tempateFile)
????????{
????????????xmlDocument?xmlDoc?=?new?xmlDocument();
????????????xmlDoc.Load(p_tempateFile);
????????????xmlElement?xmlNodePoints?=?xmlDoc[“Points“];
????????????xmlNodeList?nodelist?=?xmlNodePoints.ChildNodes;
????????????m_PrintPoint_List.Clear();
????????????foreach?(xmlElement?el?in?nodelist)//讀元素值?
????????????{
????????????????OnePrintPoint?op?=?new?OnePrintPoint();
????????????????op.Key?=?el.Attributes[“Key“].InnerText;
????????????????op.FontName?=?el.Attributes[“FontName“].InnerText;
????????????????op.FontSize?=?float.Parse(el.Attributes[“FontSize“].InnerText);
????????????????op.X?=?float.Parse(el.Attributes[“X“].InnerText);
????????????????op.Y?=?float.Parse(el.Attributes[“Y“].InnerText);
????????????????m_PrintPoint_List.Add(op.Key.ToUpper()?op);
????????????}
????????}
????????//private?FormatPrint()
????????//{
????????//}
????????//public?FormatPrint(string?p_tempateFile)
????????//{
????????//????loadPrintTemplate(p_tempateFile);
????????//}
????????///?
????????///?設置打印點的值
????????///?
????????///?
????????///?
????????public?void?SetValue(string?p_Key?string?p_Value)
????????{
????????????p_Key?=?p_Key.ToUpper();
????????????if?(m_PrintPoint_List.Contains(p_Key))
????????????{
????????????????OnePrintPoint?tmpOnePrintPoint?=?(OnePrintPoint)m_PrintPoint_List[p_Key];
????????????????tmpOnePrintPoint.Value?=?p_Value;
????????????}
????????????else
????????????{
???????????????throw?new?Exception?(“打印模版中不存在Key為“?+?p_Key+“的節點“);
????????????}
????????}
????????///?
????????///?直接打印
????????///?
?
????????public?void?Print(?)
????????{
????????????Print(false);
????????}
????????///?
????????///?直接打印
????????///?
????????///?
????????public?void?Print(bool?p_ShowPrintDialog)
????????{
????????????try
????????????{
????????????????PrintDocument?pd?=?new?PrintDocument();
????????????????pd.PrintPage?+=?new?PrintPageEventHandler(pd_PrintPage);
????????????????if?(p_ShowPrintDialog)
????????????????{
????????????????????PrintDialog?pdlg?=?new?PrintDialog();
????????????????????pdlg.Document?=?pd;
????????????????????DialogResult?res?=?pdlg.ShowDialog();
????????????????????if?(res?==?DialogResult.OK)
????????????????????????pd.Print();
????????????????}
?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2009-03-09?15:47??PrintControl\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControl\
?????文件????????1429??2009-03-09?15:38??PrintControl\PrintControl.sln
?????文件???????18944??2009-03-09?15:47??PrintControl\PrintControl.suo
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControlTest\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControlTest\bin\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControlTest\bin\Debug\
?????文件????????5632??2005-11-11?22:25??PrintControl\PrintControlTest\bin\Debug\PrintControlTest.vshost.exe
?????文件????????1614??2009-03-09?15:43??PrintControl\PrintControlTest\Form1.cs
?????文件????????3504??2009-01-07?17:54??PrintControl\PrintControlTest\Form1.Designer.cs
?????文件????????5814??2009-01-07?17:54??PrintControl\PrintControlTest\Form1.resx
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControlTest\obj\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControlTest\obj\Debug\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControlTest\obj\Debug\TempPE\
?????文件????????3649??2009-03-09?15:42??PrintControl\PrintControlTest\PrintControlTest.csproj
?????文件?????????475??2009-01-07?16:39??PrintControl\PrintControlTest\Program.cs
?????目錄???????????0??2009-03-09?15:28??PrintControl\PrintControlTest\Properties\
?????文件????????1180??2009-01-07?16:39??PrintControl\PrintControlTest\Properties\AssemblyInfo.cs
?????文件????????2854??2009-03-09?15:42??PrintControl\PrintControlTest\Properties\Resources.Designer.cs
?????文件????????5612??2009-01-07?16:39??PrintControl\PrintControlTest\Properties\Resources.resx
?????文件????????1112??2009-03-09?15:42??PrintControl\PrintControlTest\Properties\Settings.Designer.cs
?????文件?????????249??2009-01-07?16:39??PrintControl\PrintControlTest\Properties\Settings.settings
?????文件?????????838??2009-03-09?15:42??PrintControl\PrintControlTest\PrtTemplate.xm
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControl\bin\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControl\bin\Debug\
?????文件????????6572??2009-03-09?15:39??PrintControl\PrintControl\FormatPrint.cs
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControl\obj\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControl\obj\Debug\
?????目錄???????????0??2009-03-09?15:47??PrintControl\PrintControl\obj\Debug\TempPE\
?????文件????????2076??2009-03-09?15:42??PrintControl\PrintControl\PrintControl.csproj
?????目錄???????????0??2009-03-09?15:29??PrintControl\PrintControl\Properties\
............此處省略2個文件信息
評論
共有 條評論