问题描述
我已经尝试过使用iText库在stackoverflow上使用几个示例,但是没有成功。我想将printDocument2另存为pdf文件,并使用OpenFileDialog进行操作,而无需使用itext库。
我想创建一个关于它的方法。我是C#的初学者,如果您能帮助我,我将不胜感激 谢谢大家
打印文档方法:
private void printDocument2_PrintPage(object sender,System.Drawing.Printing.PrintPageEventArgs e)
{
Graphics g = e.Graphics;
Brush kalın = new SolidBrush(Color.Black);
Font yazi = new Font("Arial",16,FontStyle.Regular);
Font yazince = new Font("Arial",10,FontStyle.Regular);
Font yazince1 = new Font("Arial",8,FontStyle.Regular);
Font yazince2 = new Font("Arial",7,FontStyle.Regular);
Font yazince3 = new Font("Arial",6,FontStyle.Regular);
Font baslik = new Font("Arial",14,FontStyle.Bold);
Font diyagrambaslik = new Font("Arial",12,FontStyle.Bold);
Font baslikalt = new Font("Arial",FontStyle.Bold);
Font rapor = new Font("Arial",FontStyle.Regular);
Font rapor2 = new Font("Arial",9,FontStyle.Regular);
Font koyuitalik = new Font("Arial",FontStyle.Italic | FontStyle.Bold);
Pen kesikli = new Pen(Color.Black,2);
kesikli.DashStyle = System.Drawing.drawing2d.DashStyle.Dash;
Pen ince = new Pen(Color.DarkGray,2);
Pen kalin = new Pen(Color.Red,4);
Pen orta = new Pen(Color.Black,1);
Pen kalem = new Pen(Color.Black,2);
Brush siyah = new SolidBrush(Color.Black);
Form1 frm1 = new Form1();
Class1 obj = new Class1();
frm1.malzeme_hesap();
if (frm1.sev.Value == 2)
{
//Çerçeve
g.DrawLine(kalem,15,790,15);
g.DrawLine(kalem,1130);
g.DrawLine(kalem,1130,15);
//Çerçeve Sonu
//üst baslık ölçüleri
g.DrawLine(kalem,110,110);//yatay cizgi
g.DrawString("İşin Adı : ",yazi,siyah,200,30);
g.DrawString("Projeyi Yapan : ",60);
g.DrawLine(kalem,165,110);// sol resim
/* rect = new Rectangle(15,150,95);
g.DrawImage(image,rect);*/
//üst baslık ölçüleri
g.DrawLine(kalem,110);//yatay cizgi
//g.DrawString("İşin Adı : " + isinAdi,30);
//g.DrawString("Projeyi Yapan : " + adSoyad,110);// sol resim
Image image3 = Properties.Resources.logo;
Rectangle rect3 = new Rectangle(40,100,95);
g.DrawImage(image3,rect3);
g.DrawLine(kalem,360,360);//orta çizgi
//rect = new Rectangle(40,115,715,240);
//g.DrawImage(image3,rect);
Image image2 = Properties.Resources.DURUM_2;
Rectangle rect = new Rectangle(280,215,240);
g.DrawImage(image2,rect);
if (fotografsecili == true)
{
g.DrawLine(kalem,640,110);//sag resim baslangıc
rect4 = new Rectangle(655,17,120,93);
g.DrawImage(image5,rect4);
}
else
{
g.DrawLine(kalem,110);//sag resim baslangıc
}
//alt baslık
image4 = Properties.Resources.ista;
g.DrawLine(kalem,1110,1110);
g.DrawLine(kalem,760,1130);
rect = new Rectangle(20,20,20);
g.DrawImage(image4,rect);
g.DrawString("Bu program İSTA Yazılım tarafından geliştirilmiştir.",yazince,50,1112);
g.DrawString("1",770,1112);
//Rapor baslangıc
g.DrawString("KUYU TEMEL HESAP RAPORU",baslik,270,365);
double deger1,deger2;
double cbolunbet;
double sboluncel;
g.DrawString("KUYU TEMEL GEOMETRİK BİLGİLERİ",baslikalt,400);
g.DrawString("Kuyu temel seviye sayısı",rapor,420);
g.DrawString(": " + frm1.sev.Value.ToString(),350,420);
g.DrawString("1. seviye genişlik",440);
g.DrawString(": " + frm1.gen1.Value + " cm ",440);
g.DrawString("2. seviye genişlik",460);
g.DrawString(": " + frm1.gen2.Value + " cm ",460);
g.DrawString("Toplam genişik",480);
g.DrawString(": " + frm1.gen1.Value + frm1.gen2.Value + " cm ",480);
g.DrawString("1. seviye yükseklik",500);
g.DrawString(": " + frm1.yuk1.Value + " cm ",500);
g.DrawString("2. seviye yükseklik",520);
g.DrawString(": " + frm1.yuk2.Value + " cm ",520);
e.HasMorePages = false;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)