This commit is contained in:
2008-10-03 11:09:04 +00:00
parent a775337ba0
commit 4ea65e4bf6
10 changed files with 361 additions and 220 deletions

View File

@@ -2,7 +2,7 @@ using System;
using System.Xml;
using System.Drawing;
using System.Windows.Forms;
using C1.C1Pdf;
//using C1.C1Pdf;
namespace fmtxml
{
@@ -15,7 +15,7 @@ namespace fmtxml
private XmlDocument xmlDoc;
private string FileName;
private string FilePath;
private C1.C1Pdf.C1PdfDocument _c1pdf;
//private C1.C1Pdf.C1PdfDocument _c1pdf;
private string [] FontChoice =
{"Times New Roman",
@@ -58,22 +58,22 @@ namespace fmtxml
private void GeneratePDFForFile()
{
_c1pdf = new C1.C1Pdf.C1PdfDocument();
string rootname = FileName.Substring(0,FileName.Length-4);
// create a pdf file & for each macro (i.e. macro element in xml tree),
// put it into the pdf file.
XmlElement top = (XmlElement) xmlDoc.SelectSingleNode(rootname + "_GENMAC");
XmlNodeList xmlNds = top.SelectNodes("MACRO");
foreach (XmlNode nd in xmlNds)
{
XmlNode name = nd.SelectSingleNode("NAME");
XmlElement elm = (XmlElement) name;
XmlNode definition = nd.SelectSingleNode("DEFINITION");
MacroGeneratePDF(definition);
_c1pdf.NewPage();
}
string outname = "E:\\ve-proms.net\\genmac.xml\\testpdf\\" + rootname + ".pdf";
_c1pdf.Save(outname);
//_c1pdf = new C1.C1Pdf.C1PdfDocument();
//string rootname = FileName.Substring(0,FileName.Length-4);
//// create a pdf file & for each macro (i.e. macro element in xml tree),
//// put it into the pdf file.
//XmlElement top = (XmlElement) xmlDoc.SelectSingleNode(rootname + "_GENMAC");
//XmlNodeList xmlNds = top.SelectNodes("MACRO");
//foreach (XmlNode nd in xmlNds)
//{
// XmlNode name = nd.SelectSingleNode("NAME");
// XmlElement elm = (XmlElement) name;
// XmlNode definition = nd.SelectSingleNode("DEFINITION");
// MacroGeneratePDF(definition);
// _c1pdf.NewPage();
//}
//string outname = "E:\\ve-proms.net\\genmac.xml\\testpdf\\" + rootname + ".pdf";
//_c1pdf.Save(outname);
}
private void MacroGeneratePDF(XmlNode definition)
@@ -115,7 +115,7 @@ namespace fmtxml
pn = new Pen(Brushes.Black,flw);
//KBR: TODO - storing page stuff such as portland, vertical offset, tab, etc.
RectangleF rc = new RectangleF(LeftMargin+fstx,VerticalOffset+fsty,fex,fey);
_c1pdf.DrawRectangle(pn,rc);
//_c1pdf.DrawRectangle(pn,rc);
break;
case "LINE": // command is LINE startx, starty, endx, endy, lnwidth
restOfIt = cmdline.Substring(5,cmdline.Length-5);
@@ -132,7 +132,7 @@ namespace fmtxml
//KBR: TODO - move ablsolute?
// if (MoveAbsolute)
// {tab = 0;vof = 0;}
_c1pdf.DrawLine(pn, LeftMargin+fstx, VerticalOffset+fsty, LeftMargin+fstx+fex, VerticalOffset+fsty+fey);
//_c1pdf.DrawLine(pn, LeftMargin+fstx, VerticalOffset+fsty, LeftMargin+fstx+fex, VerticalOffset+fsty+fey);
break;
case "TEXT":
int quote = cmdline.IndexOf("\"");
@@ -147,10 +147,10 @@ namespace fmtxml
int bui = System.Convert.ToInt32(parts[4]); //kbr todo: use bui
Font myfont = new Font(this.FontChoice[FontFamily],FontSize);
rc = new Rectangle();
rc.Size = _c1pdf.MeasureStringRtf(txt,myfont,500); // kbr todo: 500?
//rc.Size = _c1pdf.MeasureStringRtf(txt,myfont,500); // kbr todo: 500?
rc.X = LeftMargin+fstx;
rc.Y = VerticalOffset+fsty-FontSize; //-(rc.Size.Height/2);
_c1pdf.DrawStringRtf(txt,myfont,Brushes.Black,rc);
//_c1pdf.DrawStringRtf(txt,myfont,Brushes.Black,rc);
break;
case "GDIADJ":
break;
@@ -162,7 +162,7 @@ namespace fmtxml
ex = System.Convert.ToInt32(parts[2]);
ey = System.Convert.ToInt32(parts[3]);
lw = System.Convert.ToInt32(parts[4]);
_c1pdf.DrawEllipse(pn,LeftMargin+stx, VerticalOffset+sty, LeftMargin+ex, VerticalOffset+ey);
//_c1pdf.DrawEllipse(pn,LeftMargin+stx, VerticalOffset+sty, LeftMargin+ex, VerticalOffset+ey);
break;
case "BITMAP":
restOfIt = cmdline.Substring(8,cmdline.Length-7);
@@ -176,7 +176,7 @@ namespace fmtxml
rc.Width = img.Width;
rc.X = LeftMargin+fstx;
rc.Y = VerticalOffset+fsty-(rc.Size.Height/2);
_c1pdf.DrawImage(img, rc, ContentAlignment.MiddleCenter, ImageSizeModeEnum.Scale);
//_c1pdf.DrawImage(img, rc, ContentAlignment.MiddleCenter, ImageSizeModeEnum.Scale);
break;
case "ABSOLUTE":
break;