![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PDFBox 踩坑
安努卡莫
用户很懒,什么都没写。
展开
-
PDFBox 字体缓存笔记
代码关注点:0x00当使用PDType0Font.load进行外部字体读取的时候,此静态方法内部包含的构造函数会调用PDDocument的成员函数registerTrueTypeFontForClosing()将字体缓存至PDDocument.fontsToClose成员中。0x01当使用PDPageContentStream.setFont()时,此成员函数会调用PDDocument的成员函数getFontsToSubset().add()将字体缓存到PDDocument.fontsTo原创 2020-10-19 10:12:35 · 834 阅读 · 0 评论 -
PDFBox 数据组织思路
一句话:尽可能操作字典,来减少类中所包含的主要起POJO作用的成员。我想了想,可能这样进行输出的时候,数据组织的规则可以避免和类的结构进行耦合,只不过由于完全通过字典进行数据组织,字典本身的结构是另一种没有被类的层级关系描述的规则另外一篇 手记 提到了这几个类的关系。皆位于 org.apache.pdfbox.pdmodel 中。几个典型类的数据组织方式PDDocumentPDDocumentCatalogPDPageTreePDPagePDDocument通过初始化其成员 COSDocumen原创 2020-10-16 18:02:15 · 346 阅读 · 0 评论 -
PDFBox PDFDocument 与 PDPage 的 关系
#mermaid-svg-8th4KXN6mGe7CdZD .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-8th4KXN6mGe7CdZD .label text{fill:#333}#mermaid-svg-8th4KXN6mGe7CdZD .node rect,#mermaid-svg-8th4KXN6mG原创 2020-10-16 16:37:08 · 730 阅读 · 0 评论 -
PDFBox 导入外部字体
PDFBox 内置字体似乎仅支持外文。如果有中文录入的需要,需要加载常用的字体库。代码如下:// 加载某个我喜欢的字体库PDFont font= PDType0Font.load(document, new File("C:\\Windows\\Fonts\\Dengl.ttf"));// 实际上还有PDType1Font,PDType3Font,一般ttf就用PDType0Font足以。至于其它的,可以知乎找找介绍一类。// 实例化对象了之后,将它添加到PDPage的Resource中。PD原创 2020-10-16 16:17:27 · 5499 阅读 · 0 评论 -
PDFBox PDPage 可以get到的几个包围盒
目录get方法 对象转化流程图盒子分类MediaBoxCropBoxArtBoxBleedBoxTrimBoxget方法 对象转化流程图#mermaid-svg-Lk5K8lMfN3oLNJml .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Lk5K8lMfN3oLNJml .label text{fill原创 2020-10-16 15:49:22 · 726 阅读 · 0 评论 -
PDFBox 设置页面的尺寸
一句话,在初始化 org.apache.pdfbox.pdmodel.PDPage的时候,传入org.apache.pdfbox.pdmodel.common.PDRectangle中的静态尺寸常量。PDPage page = new PDPage(PDRectangle.A4);// 还有 LETTER(U.S), LEGAL(LEGAL), A0, A1, A2, A3, A5, A6 可选...原创 2020-10-16 11:05:28 · 3574 阅读 · 1 评论