c# - imprimir - ¿Cómo crear un PDF a partir de una cadena y enviarlo al usuario?
imprimir documento c# (1)
Buenos dias a todos,
Tengo un proyecto que se supone debe ser implementado en
sharepoint 2007 (wss 3.0) como un elemento web personalizado. Es
simplemente un botón para convertir una cierta cadena a un pdf
archivar y enviarlo al usuario. Estoy usando c # .NET. yo tengo
el siguiente código:
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 es una matriz de bytes. Y esto está funcionando bien con respecto a "enviar el archivo"
al usuario "parte.
El problema que estoy enfrentando es con la creación de los bytes
formación. No sé cómo crear una matriz de bytes desde un
cadena que podría convertirse a PDF. Intenté usar
iTextSharp, pero por alguna razón siempre estoy frente a
error con esta linea:
Documento d = nuevo Documento ();
El elemento web me da un error cuando se implementa (Archivo
extraviado).
Ahora estoy atascado. ¿Cuál es la forma apropiada de convertir
esta cadena a pdf y enviarlo al usuario SIN
ALMACENARLO EN CUALQUIER LUGAR!
Cualquier ayuda es muy apreciada y gracias de antemano :)
Vea si esto ayuda a crear la matriz de bytes, estoy usando el analizador html para convertir mi documento xml a 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();
}