You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Sen (Jira)" <ji...@apache.org> on 2021/02/04 07:11:00 UTC

[jira] [Updated] (PDFBOX-5095) 调用PDPageContentStream类的setFont()方法设置字体时出现错误,Could not load font file: C:\WINDOWS\FONTS\mstmc.ttf

     [ https://issues.apache.org/jira/browse/PDFBOX-5095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sen updated PDFBOX-5095:
------------------------
          Component/s: FontBox
    Affects Version/s: 2.0.22
          Description: 
错误

二月 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严重: Could not load font file: C:\WINDOWS\FONTS\mstmc.ttfjava.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

//代码如下

@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);//错误位置
 //设置文本的位置
 contentStream.newLineAtOffset(25, 700);
 //插入文本
 contentStream.showText("Hello PDFBox!");
 //结束文本
 contentStream.endText();
 contentStream.close();

 doc.save(file);
 doc.close();
}

 

 
          Environment: 
<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>
              Summary: 调用PDPageContentStream类的setFont()方法设置字体时出现错误,Could not load font file: C:\WINDOWS\FONTS\mstmc.ttf  (was: 调用PDPageContentStream类的setFont()方法设置字体时出现错误,)

> 调用PDPageContentStream类的setFont()方法设置字体时出现错误,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
>         Environment: <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>
>            Reporter: Sen
>            Priority: Major
>
> 错误
> 二月 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严重: Could not load font file: C:\WINDOWS\FONTS\mstmc.ttfjava.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
> //代码如下
> @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);//错误位置
>  //设置文本的位置
>  contentStream.newLineAtOffset(25, 700);
>  //插入文本
>  contentStream.showText("Hello PDFBox!");
>  //结束文本
>  contentStream.endText();
>  contentStream.close();
>  doc.save(file);
>  doc.close();
> }
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org