Export To File

在开发过程中,我们经常需要把asp.net页面上的一些Data 数据控件的数据输出至Word或是Excel中,此视频就是教你怎样实现这样的功能,另外,Insus.NET曾在去年在资源中心也上传了一个相似的dll组件,感谢很多朋友都有去下载下来应用,有些朋友还给Insus.NET反馈,说有导出的文件,出现乱码.所以,今次,Insus.NET解决此输出乱码的问题,另外,Insus.NET要说的,此ddl组件,不管只对Data控件输出,asp:Table也可以输出喔!

http://download.csdn.net/source/398494

首先,要在`FontProvider`中添加思源黑体的斜体字体。在思源黑体字体文件所在的文件夹中,有一个名为SourceHanSansSC-Bold.otf的文件,它是思源黑体的粗体字体。我们可以在`FontProvider`中添加这个粗体字体,然后通过设置CSS样式的方式来实现斜体。 以下是修改后的代码示例: ```java FileOutputStream outputStream=null; try{ outputStream=new FileOutputStream(saveFilePath); PdfWriter writer = new PdfWriter(saveFilePath); PdfDocument pdfDoc = new PdfDocument(writer); pdfDoc.setDefaultPageSize(PageSize.A4); ConverterProperties converterProperties = new ConverterProperties(); FontProvider provider = new FontProvider(); provider.addFont("D:/home/file/static/fonts/SourceHanSansSC-Regular.otf");//添加思源黑体常规字体 provider.addFont("D:/home/file/static/fonts/SourceHanSansSC-Bold.otf");//添加思源黑体粗体字体 provider.addStandardPdfFonts(); byte[] fontBytes = Files.readAllBytes(Paths.get("D:/home/file/static/fonts/SourceHanSansSC-Regular.otf")); PdfFont pdfFont = PdfFontFactory.createFont(fontBytes, PdfEncodings.IDENTITY_H, false); pdfDoc.addFont(pdfFont); converterProperties.setFontProvider(provider); converterProperties.setCharset("UTF-8"); pdfDoc.addEventHandler(PdfDocumentEvent.END_PAGE, new PDFBuilder(pdfFont,title,pdfTime,footLabel)); //设置CSS样式,实现中文斜体 ConverterProperties cssProperties = new ConverterProperties(); CssAppliers cssAppliers = new DefaultCssAppliers(); cssAppliers.setItalic(new Chunk("", pdfFont).setItalic()); cssProperties.setCssAppliers(cssAppliers); cssProperties.setFontProvider(provider); Document doc = HtmlConverter.convertToDocument(htmlData, pdfDoc, cssProperties); doc.close(); writer.close(); outputStream.close(); }catch(Exception ex){ throw new PDFException("PDF export to File fail",ex); }finally{ IOUtils.closeQuietly(outputStream); } ``` 需要注意的是,在设置CSS样式时,我们通过`Chunk`类的`setItalic()`方法来实现斜体。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值