【问题标题】:iTextSharp not functioning in Winforms projectiTextSharp 在 Winforms 项目中不起作用
【发布时间】:2013-03-25 03:46:17
【问题描述】:

环境

C# 2008 速成版、Windows 窗体、iTextSharp 5.4.0。

我将 iTextSharp.dll 放在我的项目 bin 文件夹中,我在我的项目中添加了对它的引用,我有命名空间 using iTextSharpiTextSharp.textiTextSharp.text.pdf,我已经尝试了以下部分代码,但没有创建任何内容,也没有错误消息。

这是第一个块:

Document doc1 = new Document();
string path = "C:/Temp/Testing";
PdfWriter.GetInstance(doc1, new FileStream(path + "first.pdf", FileMode.Create));
doc1.Open();
doc1.Add(new Paragraph("Test"));
doc1.Close();

这是第二块:

FileStream fs = new FileStream("C:\\Temp\\Testing" + "Test.pdf", FileMode.Create);
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, fs);
doc.Open();
doc.Add(new Paragraph("Hello"));
doc.Close();
writer.Close();
fs.Close();

【问题讨论】:

  • 在除 C 之外的任何其他驱动器上尝试您的代码。
  • 您可能正在寻找文件 c:\Temp\Testing\Test.pdf。文件名似乎正在保存到 C:\Temp\TestingTest.pdf"
  • 在 C:\\Temp\\Testing 的末尾添加 \\ 就可以了。

标签: c# winforms itextsharp


【解决方案1】:

这个例子打开一个对话框,用户可以保存文件。使用代码转换器将 VB 代码转换为 C#。

Using ms As New System.IO.MemoryStream()
Using doc As New iTextSharp.text.Document(iTextSharp.text.PageSize.A4)
Using w As iTextSharp.text.pdf.PdfWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(doc, ms)

Dim FileName As String = "Name.pdf"


Here create your document end close it

Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader("content-disposition", "attachment;filename= " & FileName)
Response.Buffer = True
Response.Clear()
Dim bytes = ms.ToArray()
Response.OutputStream.Write(bytes, 0, bytes.Length)
Response.OutputStream.Flush()


End Using
End Using
End Using

【讨论】:

  • 我已经使用 System.Web.UI 对其进行了转换和添加,但 Response 无法识别。这适用于 Windows 窗体而不是 Web。
猜你喜欢
  • 2014-12-28
  • 2021-11-05
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
相关资源
最近更新 更多