大家早上好,
我有一个应该部署在
上的项目sharepoint 2007(wss 3.0)作为自定义Web部件。它是
只需一个按钮即可将某个字符串转换为pdf
文件并将其发送给用户。我正在使用c#.NET。我有
以下代码:
HttpContext.Current.Response.AddHeader"ContentDispositio
n", "attachment;filename=foo.pdf");
HttpContext.Current.Response.AddHeader("Content-Length", bb.Length.ToString());
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.BinaryWrite(bb);
bb是一个字节数组。 这对于“发送文件
而言工作正常到用户“part。
我面临的问题是创建字节
阵列。我不知道如何从
创建一个字节数组可以转换为PDF的字符串。我尝试使用
iTextSharp,但由于某种原因,我总是面对
此行错误:
文件d =新文件();
Web部件在部署时给出了错误(文件
未找到。)
现在我被卡住了。什么是转换的适当方式
此字符串为pdf并将其发送给用户WITHOUT
随时随地存放!
任何帮助都非常受欢迎&提前谢谢你:)
答案 0 :(得分:1)
看看这是否有助于创建字节数组,我使用html解析器将我的xml文档转换为pdf -
// Using iTextSharp to construct a PDF document
// Create a document-object
Document document = new Document(PageSize.A4);
// Create a writer that listens to the document
// and directs a XML-stream to a MemoryStream
using (MemoryStream ms = new MemoryStream())
{
PdfWriter.GetInstance(document, ms);
document.Open();
System.Xml.XmlTextReader _xmlr;
if (String.IsNullOrEmpty(errorMsg))
_xmlr = new System.Xml.XmlTextReader(new StringReader(GetTransferedData(content)));
else
_xmlr = new System.Xml.XmlTextReader(new StringReader(@"<html><body>Error Message:" + errorMsg + "</body></html>"));
iTextSharp.text.html.HtmlParser.Parse(document, _xmlr);
document.Close();
ms.Flush();
byte[] data = ms.ToArray();
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.BinaryWrite(data);
Response.End();
ms.Close();
}