[
https://issues.apache.org/jira/browse/PDFBOX-5095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sen updated PDFBOX-5095:
------------------------
Attachment: 2021-02-04 154826.png
> An error occurred when calling the setFont () method of the
> PDPageContentStream class to set the font,Could not load font file:
> C:\WINDOWS\FONTS\mstmc.ttf
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: PDFBOX-5095
> URL: https://issues.apache.org/jira/browse/PDFBOX-5095
> Project: PDFBox
> Issue Type: Bug
> Components: FontBox
> Affects Versions: 2.0.22
> Reporter: Sen
> Priority: Major
> Labels: fontbox, mstmc.ttf
> Attachments: 2021-02-04 154826.png
>
>
> error
> 二月 04, 2021 3:00:45 下午 org.apache.pdfbox.pdmodel.font.FileSystemFontProvider
> loadDiskCache
> 二月 04, 2021 3:00:45 下午 org.apache.pdfbox.pdmodel.font.FileSystemFontProvider
> loadDiskCache
> 警告: New fonts found, font cache will be re-built
> 二月 04, 2021 3:00:45 下午 org.apache.pdfbox.pdmodel.font.FileSystemFontProvider
> <init>
> 警告: Building on-disk font cache, this may take a while
> 二月 04, 2021 3:00:48 下午 org.apache.pdfbox.pdmodel.font.FileSystemFontProvider
> addTrueTypeFont
> ERROR: Could not load font file: C:\WINDOWS\FONTS\mstmc.ttf
> java.io.EOFException at
> org.apache.fontbox.ttf.TTFDataStream.readUnsignedInt(TTFDataStream.java:151)
> at org.apache.fontbox.ttf.TTFParser.readTableDirectory(TTFParser.java:312) at
> org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:139) at
> org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:87) at
> org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeFont(FileSystemFontProvider.java:638)
> at
> org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.scanFonts(FileSystemFontProvider.java:359)
> at
> org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.<init>(FileSystemFontProvider.java:338)
> at
> org.apache.pdfbox.pdmodel.font.FontMapperImpl$DefaultFontProvider.<clinit>(FontMapperImpl.java:140)
> at
> org.apache.pdfbox.pdmodel.font.FontMapperImpl.getProvider(FontMapperImpl.java:159)
> at
> org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFont(FontMapperImpl.java:423)
> at
> org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFontBoxFont(FontMapperImpl.java:386)
> at
> org.apache.pdfbox.pdmodel.font.FontMapperImpl.getFontBoxFont(FontMapperImpl.java:360)
> at org.apache.pdfbox.pdmodel.font.PDType1Font.<init>(PDType1Font.java:146)
> at org.apache.pdfbox.pdmodel.font.PDType1Font.<clinit>(PDType1Font.java:79)
> at com.pdfbox_test.CreatPdfTest.writePDFTest(CreatPdfTest.java:69) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498) at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at
> org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at
> org.junit.runners.ParentRunner.run(ParentRunner.java:363) at
> org.junit.runner.JUnitCore.run(JUnitCore.java:137) at
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
> at
> com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
> at
> com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
> at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
> 二月 04, 2021 3:00:49 下午 org.apache.pdfbox.pdmodel.font.FileSystemFontProvider
> <init>警告: Finished building on-disk font cache, found 584 fonts
> Process finished with exit code 0
> //Code
> @Test
> public void writePDFTest() throws IOException{
> File file = new File(PATH + "PDFBOX.pdf");
> PDDocument doc=new PDDocument();
> PDPage page=new PDPage();
> doc.addPage(page);
> PDPageContentStream contentStream = new PDPageContentStream(doc, page);
> //文本开始
> contentStream.beginText();
> //设置文本的字体
> contentStream.setFont(PDType1Font.HELVETICA, 12);//Wrong location
> //设置文本的位置
> contentStream.newLineAtOffset(25, 700);
> //插入文本
> contentStream.showText("Hello PDFBox!");
> //结束文本
> contentStream.endText();
> contentStream.close();
> doc.save(file);
> doc.close();
> }
>
>
> pom.xml
> <dependencies>
> <dependency>
> <groupId>org.apache.pdfbox</groupId>
> <artifactId>pdfbox</artifactId>
> <version>2.0.22</version>
> </dependency>
> <dependency>
> <groupId>junit</groupId>
> <artifactId>junit</artifactId>
> <version>4.12</version>
> <scope>compile</scope>
> </dependency>
> </dependencies>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]