根据生成日期而自动更新的格式(根据生成的数据透视表在透视表下方创建一个簇状柱形图)

lxf2023-03-17 08:48:01
自由市场包cn.danny导入Java . io . io exception;导入Java . io . string writer;导入Java . io . writer;导入Java . util . ArrayList;导入Java . util . hashmap;导入Java . util . list;导入Java . util . locale;导入Java . util . map;导入freemarker . template . configuration;导入freemarker . template . defaultobjectwrapper;导入freemarker . template . template;导入freemarker . template . template exception;public class FreeMarkerUtil { public String createDefineTargetTemplate()抛出异常{ Configuration conf = new Configuration();试试{ conf . setclassfortemplateloading(this . getclass()," templates));} catch(exception e){ throw new exception("加载模板异常!"+e . getmessage());} conf . set object wrapper(new DefaultObjectWrapper());conf.setLocale(区域设置。中国);conf . setdefaultencoding(" utf-8 ");conf . set classic compatible(true);//处理字符串String targetStr = null,值为空;map root = new HashMap();List子句= new ArrayList();ClauseTemplateBean bean 1 = new ClauseTemplateBean();bean 1 . setclausecode(" d 31001 ");ClauseTemplateBean bean 2 = new ClauseTemplateBean();bean 2 . setclausecode(" d 31002 ");子句. add(bean 1);子句. add(bean 2);root.put("子句",从句);try { targetStr = generateHtmlFromFtl(root," test.ftl ",conf);} catch(异常e){ throw e;}返回targetStr}公共静态字符串generateHtmlFromFtl(对象根,字符串tplName,配置conf)抛出IOException,Template exception { Template temp = conf . get Template(TPL name);writer out = new string writer();temp.process(root,out);return out . tostring();} public static void main(String args[])抛出异常{ String html = new FreeMarkerUtil()。createDefineTargetTemplate();system . out . println(html);} }
试验包cn.danny导入Java . io . bytearrayoutputstream;导入Java . io . file;导入Java . io . file output stream;导入Java . io . output stream;导入org . XHTML renderer . pdf . itextfontresolver;导入org . XHTML renderer . pdf . itextrenderer;导入com . lowa gie . text . pdf . base font;公共类测试{ public static void main(String[]args)抛出异常{ String output file = " D:\ \ work spaces \ \ cnbs \ \ pdf demo \ \ first doc . pdf ";output stream OS = new file output stream(output file);string html str = new FreeMarkerUtil()。createDefineTargetTemplate();createpdffilefromhtcontent(html str,OS);OS . close();system . out . println(" Done ");}公共静态ByteArrayOutputStream createPdfFromHtml(String htmlTemplateUrl)抛出异常{ ByteArrayOutputStream Bos = new ByteArrayOutputStream();ITextRenderer renderer = new ITextRenderer();itextfont resolver font resolver = renderer . getfont resolver();font resolver . add font(" C:/Windows/Fonts/arial uni . TTF ",BaseFont。IDENTITY_H,BaseFont。未_嵌入);File file =新文件(htmlTemplateUrl);String url = file.toURI()。图尔()。toString();renderer . set document(URL);renderer . layout();renderer . create pdf(Bos);Bos . close();返回bos}公共静态ByteArrayOutputStream createpdffromhtcontent(String html content)抛出异常{ ByteArrayOutputStream Bos = new ByteArrayOutputStream();ITextRenderer renderer = new ITextRenderer();itextfont resolver font resolver = renderer . getfont resolver();font resolver . add font(" C:/Windows/Fonts/arial uni . TTF ",BaseFont。IDENTITY_H,BaseFont。未_嵌入);renderer . setdocumentfromstring(html content);renderer . layout();renderer . create pdf(Bos);Bos . close();返回bos}公共静态void createpdffilefromhtcontent(String html content,OutputStream os)抛出异常{ ITextRenderer renderer = new ITextRenderer();itextfont resolver font resolver = renderer . getfont resolver();font resolver . add font(" C:/Windows/Fonts/simsun . TTC ",BaseFont。IDENTITY_H,BaseFont。未_嵌入);/* File File = new File(" D:\ \ work spaces \ \ cnbs \ \ pdf demo \ \ src \ \ cn \ \ Danny \ \ templates \ \ first . html ");renderer.setDocument(文件);*/renderer . setdocumentfromstring(html content);renderer . layout();renderer . create pdf(OS);OS . close();} }
测试. ftl模板正文{font-family: 'SimSun'}主标题

这是我的演示

这是我的演示

段落标题的其他内容

分段标题

其他内容啦啦啦。

依赖包
代码结构