如何解决如何将PrintDocument保存为PDF文件?
我已经尝试过使用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 举报,一经查实,本站将立刻删除。