我想将格式文本框另存为pdf文件。每次保存文件时,Adobe Reader都无法打开。
private void button3_Click(object sender, EventArgs e)
{
SaveFileDialog MyFiles = new SaveFileDialog();
MyFiles.Filter = "PDF Files|*.pdf";
MyFiles.Title = "Save As...";
MyFiles.DefaultExt = "*.pdf";
if (MyFiles.ShowDialog() == DialogResult.OK)
{
richTextBox1.SaveFile(MyFiles.FileName, RichTextBoxStreamType.PlainText);
richTextBox3.SaveFile(MyFiles.FileName, RichTextBoxStreamType.PlainText);
richTextBox4.SaveFile(MyFiles.FileName, RichTextBoxStreamType.PlainText);
richTextBox5.SaveFile(MyFiles.FileName, RichTextBoxStreamType.PlainText);
}
}
我还做了发送按钮发送带有附件的电子邮件,但问题是我无法发送电子邮件:
MailMessage MyMail = new MailMessage(richTextBox1.Text, richTextBox4.Text);
MyMail.To.Add(new MailAddress(richTextBox4.Text));
MailAddress mail = new MailAddress(richTextBox1.Text);
MyMail.From = mail;
MyMail.Subject = richTextBox5.Text;
MyMail.Body = richTextBox3.Text;
MyMail.Attachments.Add(new Attachment(richTextBox2.Text));
SmtpClient MySmtp = new SmtpClient(TheServer.Text);
MySmtp.UseDefaultCredentials = true;
MySmtp.EnableSsl = true;
MySmtp.Port = Convert.ToInt32(ThePort.Text);
MySmtp.Send(MyMail);
4条答案
按热度按时间pgvzfuti1#
也许Save PDF and MS Word File in C#可以帮到你!!!!它使用iTextSharp
dojqjjoe2#
使用this或this库可以帮助你。正如@JleruOHeP在评论中所说,简单地重命名文件是行不通的。
z9ju0rcb3#
问题在于,使用方法时,无法将RichTextBox的内容保存为PDF格式。
您可以在此处找到当前可用的流格式类型:http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextboxstreamtype.aspx .
如您所见,主要支持的类型是RTF(富文本格式),这是一种纯文本多平台格式:这和PDF有很大的不同。看here和here。
**编辑:**我只是回答提问者的评论,询问一些帮助代码:
umuewwlo4#
正如大家所说,你不能简单地保存RTF并改变扩展名来生成PDF,它们是不兼容的格式。在许多可用的商业组件中,AbcPdf允许你阅读RTF,然后将输出保存为PDF:http://www.websupergoo.com/abcpdf-11.htm#note