首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Pdfclown库

使用Pdfclown库
EN

Stack Overflow用户
提问于 2015-03-29 20:51:42
回答 1查看 1.6K关注 0票数 0

如何使用C#中的asp.net小丑开源库将PDF网页导出为PDF?我试过使用下面的代码,但它生成了空的PDF文件

代码语言:javascript
复制
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();
EN

回答 1

Stack Overflow用户

发布于 2015-08-29 20:35:58

我也有同样的问题。然后我拿出了下面的示例代码,并想分享一下……希望它能帮助到一些人。

代码语言:javascript
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29329317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档