异常如下:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: This function should be called while holding treeLock
at java.awt.Component.checkTreeLock(Component.java:1200)
at java.awt.Container.validateTree(Container.java:1682)
at ice.pilots.html4.swing.PanePanel.validateTree(DocView.java:830)
at ice.pilots.html4.swing.DocPanel.doLayout(DocView.java:1182)
at ice.pilots.html4.swing.DocView.revalidate(DocView.java:310)
at ice.pilots.html4.CSSLayout.eventThreadRevalidate(CSSLayout.java:3039)
at ice.pilots.html4.RefreshEvent.doit(CSSLayout.java:3617)
at ice.pilots.html4.DocAction.run(DocAction.java:31)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
at java.awt.EventQueue.access$300(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:706)
at java.awt.EventQueue$3.run(EventQueue.java:704)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
网上查阅过有人说是jdk版本问题,尝试过了jdk6,jdk7,jdk8都不行。最后的结果是汉字出不来,数字和英文可以出来
pdf中有中文名还是内容中文出不来? 如何实现的 什么依赖 直接写出去的?
可以后端使用response写出去
可以利用第三方控件来生成所需要的PDF文档,我用过一款叫Free Spire.PDF for Java.它能支持在创建PDF时设置字体、将文字居中、设置段首缩进以及在规定的区域绘制文字等操作。相关代码示例可以参考他们官网上的教程。