Asp.net 使用Pdfclown库
如何使用C#中的PDF小丑开源库将asp.net网页导出为PDF? 我已经尝试使用下面的代码,但它正在生成空的PDF文件Asp.net 使用Pdfclown库,asp.net,Asp.net,如何使用C#中的PDF小丑开源库将asp.net网页导出为PDF? 我已经尝试使用下面的代码,但它正在生成空的PDF文件 FileStream fs = new FileStream("C:\\Users\\IBM_ADMIN\\Desktop\\ravindra\\IDforms.pdf", FileMode.Create); org.pdfclown.bytes.Stream pdfstream = new org.pdfclown.bytes.Stream(fs); org
FileStream fs = new FileStream("C:\\Users\\IBM_ADMIN\\Desktop\\ravindra\\IDforms.pdf", FileMode.Create);
org.pdfclown.bytes.Stream pdfstream = new org.pdfclown.bytes.Stream(fs);
org.pdfclown.files.File pdf = new org.pdfclown.files.File();
org.pdfclown.documents.Page page = new org.pdfclown.documents.Page(pdf.Document);
pdf.Document.Pages.Add(page);
//org.pdfclown.documents.contents.fonts.StandardType1Font fonts = new org.pdfclown.documents.contents.fonts.StandardType1Font; //org.pdfclown.documents.contents.fonts.StandardType1Font.FamilyEnum.Times, false, false);
org.pdfclown.documents.contents.composition.PrimitiveComposer composer = new org.pdfclown.documents.contents.composition.PrimitiveComposer(page);
org.pdfclown.documents.contents.composition.BlockComposer blockComposer = new org.pdfclown.documents.contents.composition.BlockComposer(composer);
//blockComposer.Begin( org.pdfclown.documents.contents Drawing. RectangleF (230, 400, 200, 200), composition. XAlignmentEnum .Left, composition. YAlignmentEnum .Top)
blockComposer.ShowText("This is ID Form");
//composer.SetFont(subtitleFont, 20);
composer.SetFillColor(org.pdfclown.documents.contents.colorSpaces.DeviceRGBColor.Black);
blockComposer.ShowText("test");
//blockComposer.End();
composer.Flush();
pdf.Save(pdfstream, org.pdfclown.files.SerializationModeEnum.Standard);
Response.Write(page);
Response.End();
我也有同样的问题。然后,我能够想出下面的示例代码,并想与大家分享。。。希望它能帮助别人
private void WritePDF()
{
// instantiate
org.pdfclown.files.File pdfFile = new org.pdfclown.files.File();
// get corresponding document
org.pdfclown.documents.Document pdfDocument = pdfFile.Document;
// insert contents into document
Populate(pdfDocument);
// save
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
org.pdfclown.bytes.Stream stream = new org.pdfclown.bytes.Stream(memoryStream);
pdfFile.Save(stream, org.pdfclown.files.SerializationModeEnum.Standard);
byte[] bytes = memoryStream.GetBuffer();
Response.Buffer = true;
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline; filename=PDFClown.pdf");
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
private void Populate(org.pdfclown.documents.Document pdfDocument)
{
// create page
org.pdfclown.documents.Page pdfPage = new org.pdfclown.documents.Page(pdfDocument);
pdfDocument.Pages.Add(pdfPage);
// create content composer
org.pdfclown.documents.contents.composition.PrimitiveComposer pdfComposer = new org.pdfclown.documents.contents.composition.PrimitiveComposer(pdfPage);
// insert contents
pdfComposer.SetFont(new org.pdfclown.documents.contents.fonts.StandardType1Font(pdfDocument, org.pdfclown.documents.contents.fonts.StandardType1Font.FamilyEnum.Courier, true, false), 32);
// show text on page
pdfComposer.ShowText("Hello World!");
// flush
pdfComposer.Flush();
}