itext getFont文件句柄泄漏

时间:2016-01-07 19:58:56

标签: itext

在itextpdf中报告问题。

问题概述 - 使用FontFactory获取嵌入字体会导致文件句柄泄漏。

动机或用例 - 嵌入字体有助于确保多语种最终用户始终拥有可用于生成的PDF的正确字体。当Web服务生成数千个带有嵌入字体的PDF时,如果没有更多文件句柄,系统最终会停止运行。

回归 - 否

操作系统 - 在OS X 10.10.5和CentOS 6.6中重现。没有在Windows下测试。

重现错误 - 请参阅     ITextFileLeak.zip

相关问题 - 无法找到以前报告的实例。

建议修复:

diff --git a/itext/src/main/java/com/itextpdf/text/pdf/TrueTypeFont.java b/itext/src/main/java/com/itextpdf/text/pdf/TrueTypeFont.java
index 1ccaa76..5d59872 100644
--- a/itext/src/main/java/com/itextpdf/text/pdf/TrueTypeFont.java
+++ b/itext/src/main/java/com/itextpdf/text/pdf/TrueTypeFont.java
@@ -855,11 +855,8 @@ class TrueTypeFont extends BaseFont {
                 readBbox();
             }
         } finally {
-            //TODO: For embedded fonts, the underlying data source for the font will be left open until this TrueTypeFont object is collected by the Garbage Collector.  That may not be optimal.
-            if (!embedded) {
                 rf.close();
                 rf = null;
-            }
         }
     }

0 个答案:

没有答案