Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Byttar til ein oppdatert fork av openHtmlToPdf-biblioteket. #176

Merged
merged 5 commits into from
Mar 5, 2024

Conversation

madsop-nav
Copy link
Collaborator

Den opphavlege blir ikkje lenger oppdatert, ref danfickle/openhtmltopdf#921.

Den nye har ein litt kuriøs groupid i Maven central, men det er denne forken: https://github.com/openhtmltopdf/openhtmltopdf , som er nyleg oppdatert og verkar ganske real. Det er den som er peika på som der dei gjer vidareutvikling også i tråden over.

Ref også https://nav-it.slack.com/archives/C60FFACN5/p1696243986018369

Ser dog at første commit etter flyttinga over til ny GitHub-organisasjon er å oppgradere PDFBox frå 2 til 3, så mogleg det trengs endringar også i denne kodebasen for å kunne gjera det?

@MikAoJk
Copy link
Collaborator

MikAoJk commented Jan 26, 2024

@madsop-nav ser ut som om det er noen unit tester som feiler

@madsop-nav

This comment was marked as duplicate.

@MikAoJk
Copy link
Collaborator

MikAoJk commented Jan 26, 2024

@madsop-nav ser ut som om det er noen unit tester som feiler

@MikAoJk : Ja, det er noko med font-innlesinga som kranglar, ser det ut som. Er ny til denne kodebasen og problematikken, har du ein ide om kva som må til her?

Dette er det som kjem i loggen når eg køyrer ein av testane som feilar lokalt:

` jan. 26, 2024 12:59:40 E.M. org.apache.pdfbox.pdmodel.font.FileSystemFontProvider loadDiskCache WARNING: New fonts found, font cache will be re-built jan. 26, 2024 12:59:40 E.M. org.apache.pdfbox.pdmodel.font.FileSystemFontProvider WARNING: Building on-disk font cache, this may take a while jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 7 but should be 1 jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 7 but should be 1 jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 7 but should be 1 jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 7 but should be 1 jan. 26, 2024 12:59:40 E.M. org.apache.pdfbox.pdmodel.font.FileSystemFontProvider addTrueTypeFont WARNING: Could not load font file: /System/Library/Fonts/LastResort.otf java.io.IOException: Invalid character code 0xD800 at org.apache.fontbox.ttf.CmapSubtable.processSubtype13(CmapSubtable.java:320) at org.apache.fontbox.ttf.CmapSubtable.initSubtable(CmapSubtable.java:113) at org.apache.fontbox.ttf.CmapTable.read(CmapTable.java:87) at org.apache.fontbox.ttf.TrueTypeFont.readTable(TrueTypeFont.java:365) at org.apache.fontbox.ttf.TTFParser.parseTables(TTFParser.java:165) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:144) at org.apache.fontbox.ttf.OTFParser.parse(OTFParser.java:56) at org.apache.fontbox.ttf.OTFParser.parse(OTFParser.java:27) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:66) at org.apache.fontbox.ttf.OTFParser.parse(OTFParser.java:50) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeFont(FileSystemFontProvider.java:634) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.scanFonts(FileSystemFontProvider.java:379) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.(FileSystemFontProvider.java:354) at org.apache.pdfbox.pdmodel.font.FontMapperImpl$DefaultFontProvider.(FontMapperImpl.java:139) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getProvider(FontMapperImpl.java:158) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFont(FontMapperImpl.java:416) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFontBoxFont(FontMapperImpl.java:379) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getFontBoxFont(FontMapperImpl.java:353) at org.apache.pdfbox.pdmodel.font.PDType1Font.(PDType1Font.java:127) at com.openhtmltopdf.pdfboxout.PdfBoxPerDocumentFormState.processControls(PdfBoxPerDocumentFormState.java:166) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.processControls(PdfBoxFastOutputDevice.java:297) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.finish(PdfBoxFastOutputDevice.java:901) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.writePDFFast(PdfBoxRenderer.java:603) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPdfFast(PdfBoxRenderer.java:488) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:419) at com.openhtmltopdf.pdfboxout.PdfRendererBuilder.run(PdfRendererBuilder.java:44) at no.nav.pdfgen.core.pdf.CreatePdfKt.createPDFA(CreatePdf.kt:64) at no.nav.pdfgen.api.GeneratePdfApiKt$setupGeneratePdfApi$1$2.invokeSuspend(GeneratePdfApi.kt:50) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:202) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:135) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:109) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:11) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:59) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:270) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.ktor.server.netty.EventLoopGroupProxy$Companion.create$lambda$1$lambda$0(NettyApplicationEngine.kt:296) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583)

jan. 26, 2024 12:59:40 E.M. org.apache.pdfbox.pdmodel.font.FileSystemFontProvider addTrueTypeCollection WARNING: Could not load font file: /System/Library/Fonts/NotoSerifMyanmar.ttc java.io.EOFException at org.apache.fontbox.ttf.TTFDataStream.readUnsignedShort(TTFDataStream.java:154) at org.apache.fontbox.ttf.TTFDataStream.readUnsignedShortArray(TTFDataStream.java:188) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readMultipleSubstitutionSubtable(GlyphSubstitutionTable.java:411) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupSubtable(GlyphSubstitutionTable.java:263) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupTable(GlyphSubstitutionTable.java:313) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupList(GlyphSubstitutionTable.java:247) at org.apache.fontbox.ttf.GlyphSubstitutionTable.read(GlyphSubstitutionTable.java:102) at org.apache.fontbox.ttf.TrueTypeFont.readTable(TrueTypeFont.java:365) at org.apache.fontbox.ttf.TTFParser.parseTables(TTFParser.java:165) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:144) at org.apache.fontbox.ttf.TrueTypeCollection.getFontAtIndex(TrueTypeCollection.java:127) at org.apache.fontbox.ttf.TrueTypeCollection.processAllFonts(TrueTypeCollection.java:109) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeCollection(FileSystemFontProvider.java:616) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.scanFonts(FileSystemFontProvider.java:383) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.(FileSystemFontProvider.java:354) at org.apache.pdfbox.pdmodel.font.FontMapperImpl$DefaultFontProvider.(FontMapperImpl.java:139) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getProvider(FontMapperImpl.java:158) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFont(FontMapperImpl.java:416) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFontBoxFont(FontMapperImpl.java:379) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getFontBoxFont(FontMapperImpl.java:353) at org.apache.pdfbox.pdmodel.font.PDType1Font.(PDType1Font.java:127) at com.openhtmltopdf.pdfboxout.PdfBoxPerDocumentFormState.processControls(PdfBoxPerDocumentFormState.java:166) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.processControls(PdfBoxFastOutputDevice.java:297) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.finish(PdfBoxFastOutputDevice.java:901) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.writePDFFast(PdfBoxRenderer.java:603) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPdfFast(PdfBoxRenderer.java:488) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:419) at com.openhtmltopdf.pdfboxout.PdfRendererBuilder.run(PdfRendererBuilder.java:44) at no.nav.pdfgen.core.pdf.CreatePdfKt.createPDFA(CreatePdf.kt:64) at no.nav.pdfgen.api.GeneratePdfApiKt$setupGeneratePdfApi$1$2.invokeSuspend(GeneratePdfApi.kt:50) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:202) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:135) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:109) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:11) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:59) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:270) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.ktor.server.netty.EventLoopGroupProxy$Companion.create$lambda$1$lambda$0(NettyApplicationEngine.kt:296) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583)

jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:40 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 143, newValue: [20] is trying to override the oldValue: 40 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 137, newValue: [21] is trying to override the oldValue: 42 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 139, newValue: [22] is trying to override the oldValue: 44 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 143, newValue: [20] is trying to override the oldValue: 40 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 137, newValue: [21] is trying to override the oldValue: 42 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 139, newValue: [22] is trying to override the oldValue: 44 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 143, newValue: [20] is trying to override the oldValue: 40 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry

[...]

jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 4 but should be 1 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 0 but should be 1 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.CmapSubtable processSubtype14 WARNING: Format 14 cmap table is not supported and will be ignored jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 4 but should be 1 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 0 but should be 1 jan. 26, 2024 12:59:41 E.M. org.apache.pdfbox.pdmodel.font.FileSystemFontProvider addTrueTypeFont WARNING: Could not load font file: /System/Library/Fonts/Supplemental/NotoSansOsage-Regular.ttf java.io.IOException: Unknown substFormat: 0 at org.apache.fontbox.ttf.GlyphSubstitutionTable.readSingleLookupSubTable(GlyphSubstitutionTable.java:372) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupSubtable(GlyphSubstitutionTable.java:259) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupTable(GlyphSubstitutionTable.java:313) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupList(GlyphSubstitutionTable.java:247) at org.apache.fontbox.ttf.GlyphSubstitutionTable.read(GlyphSubstitutionTable.java:102) at org.apache.fontbox.ttf.TrueTypeFont.readTable(TrueTypeFont.java:365) at org.apache.fontbox.ttf.TTFParser.parseTables(TTFParser.java:165) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:144) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:66) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeFont(FileSystemFontProvider.java:640) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.scanFonts(FileSystemFontProvider.java:379) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.(FileSystemFontProvider.java:354) at org.apache.pdfbox.pdmodel.font.FontMapperImpl$DefaultFontProvider.(FontMapperImpl.java:139) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getProvider(FontMapperImpl.java:158) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFont(FontMapperImpl.java:416) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFontBoxFont(FontMapperImpl.java:379) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getFontBoxFont(FontMapperImpl.java:353) at org.apache.pdfbox.pdmodel.font.PDType1Font.(PDType1Font.java:127) at com.openhtmltopdf.pdfboxout.PdfBoxPerDocumentFormState.processControls(PdfBoxPerDocumentFormState.java:166) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.processControls(PdfBoxFastOutputDevice.java:297) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.finish(PdfBoxFastOutputDevice.java:901) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.writePDFFast(PdfBoxRenderer.java:603) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPdfFast(PdfBoxRenderer.java:488) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:419) at com.openhtmltopdf.pdfboxout.PdfRendererBuilder.run(PdfRendererBuilder.java:44) at no.nav.pdfgen.core.pdf.CreatePdfKt.createPDFA(CreatePdf.kt:64) at no.nav.pdfgen.api.GeneratePdfApiKt$setupGeneratePdfApi$1$2.invokeSuspend(GeneratePdfApi.kt:50) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:202) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:135) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:109) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:11) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:59) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:270) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.ktor.server.netty.EventLoopGroupProxy$Companion.create$lambda$1$lambda$0(NettyApplicationEngine.kt:296) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583)

jan. 26, 2024 12:59:41 E.M. org.apache.pdfbox.pdmodel.font.FileSystemFontProvider addTrueTypeFont WARNING: Could not load font file: /System/Library/Fonts/Supplemental/NotoSansPahawhHmong-Regular.ttf java.io.IOException: Unknown substFormat: 0 at org.apache.fontbox.ttf.GlyphSubstitutionTable.readSingleLookupSubTable(GlyphSubstitutionTable.java:372) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupSubtable(GlyphSubstitutionTable.java:259) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupTable(GlyphSubstitutionTable.java:313) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupList(GlyphSubstitutionTable.java:247) at org.apache.fontbox.ttf.GlyphSubstitutionTable.read(GlyphSubstitutionTable.java:102) at org.apache.fontbox.ttf.TrueTypeFont.readTable(TrueTypeFont.java:365) at org.apache.fontbox.ttf.TTFParser.parseTables(TTFParser.java:165) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:144) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:66) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeFont(FileSystemFontProvider.java:640) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.scanFonts(FileSystemFontProvider.java:379) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.(FileSystemFontProvider.java:354) at org.apache.pdfbox.pdmodel.font.FontMapperImpl$DefaultFontProvider.(FontMapperImpl.java:139) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getProvider(FontMapperImpl.java:158) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFont(FontMapperImpl.java:416) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFontBoxFont(FontMapperImpl.java:379) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getFontBoxFont(FontMapperImpl.java:353) at org.apache.pdfbox.pdmodel.font.PDType1Font.(PDType1Font.java:127) at com.openhtmltopdf.pdfboxout.PdfBoxPerDocumentFormState.processControls(PdfBoxPerDocumentFormState.java:166) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.processControls(PdfBoxFastOutputDevice.java:297) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.finish(PdfBoxFastOutputDevice.java:901) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.writePDFFast(PdfBoxRenderer.java:603) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPdfFast(PdfBoxRenderer.java:488) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:419) at com.openhtmltopdf.pdfboxout.PdfRendererBuilder.run(PdfRendererBuilder.java:44) at no.nav.pdfgen.core.pdf.CreatePdfKt.createPDFA(CreatePdf.kt:64) at no.nav.pdfgen.api.GeneratePdfApiKt$setupGeneratePdfApi$1$2.invokeSuspend(GeneratePdfApi.kt:50) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:202) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:135) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:109) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:11) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:59) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:270) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.ktor.server.netty.EventLoopGroupProxy$Companion.create$lambda$1$lambda$0(NettyApplicationEngine.kt:296) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583)

jan. 26, 2024 12:59:41 E.M. org.apache.pdfbox.pdmodel.font.FileSystemFontProvider addTrueTypeFont WARNING: Could not load font file: /System/Library/Fonts/Supplemental/NotoSansMiao-Regular.ttf java.io.EOFException at org.apache.fontbox.ttf.TTFDataStream.readUnsignedShort(TTFDataStream.java:154) at org.apache.fontbox.ttf.TTFDataStream.readUnsignedShortArray(TTFDataStream.java:188) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readMultipleSubstitutionSubtable(GlyphSubstitutionTable.java:411) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupSubtable(GlyphSubstitutionTable.java:263) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupTable(GlyphSubstitutionTable.java:313) at org.apache.fontbox.ttf.GlyphSubstitutionTable.readLookupList(GlyphSubstitutionTable.java:247) at org.apache.fontbox.ttf.GlyphSubstitutionTable.read(GlyphSubstitutionTable.java:102) at org.apache.fontbox.ttf.TrueTypeFont.readTable(TrueTypeFont.java:365) at org.apache.fontbox.ttf.TTFParser.parseTables(TTFParser.java:165) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:144) at org.apache.fontbox.ttf.TTFParser.parse(TTFParser.java:66) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.addTrueTypeFont(FileSystemFontProvider.java:640) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.scanFonts(FileSystemFontProvider.java:379) at org.apache.pdfbox.pdmodel.font.FileSystemFontProvider.(FileSystemFontProvider.java:354) at org.apache.pdfbox.pdmodel.font.FontMapperImpl$DefaultFontProvider.(FontMapperImpl.java:139) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getProvider(FontMapperImpl.java:158) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFont(FontMapperImpl.java:416) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.findFontBoxFont(FontMapperImpl.java:379) at org.apache.pdfbox.pdmodel.font.FontMapperImpl.getFontBoxFont(FontMapperImpl.java:353) at org.apache.pdfbox.pdmodel.font.PDType1Font.(PDType1Font.java:127) at com.openhtmltopdf.pdfboxout.PdfBoxPerDocumentFormState.processControls(PdfBoxPerDocumentFormState.java:166) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.processControls(PdfBoxFastOutputDevice.java:297) at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.finish(PdfBoxFastOutputDevice.java:901) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.writePDFFast(PdfBoxRenderer.java:603) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPdfFast(PdfBoxRenderer.java:488) at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:419) at com.openhtmltopdf.pdfboxout.PdfRendererBuilder.run(PdfRendererBuilder.java:44) at no.nav.pdfgen.core.pdf.CreatePdfKt.createPDFA(CreatePdf.kt:64) at no.nav.pdfgen.api.GeneratePdfApiKt$setupGeneratePdfApi$1$2.invokeSuspend(GeneratePdfApi.kt:50) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:202) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:135) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:109) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:11) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:59) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:270) at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.ktor.server.netty.EventLoopGroupProxy$Companion.create$lambda$1$lambda$0(NettyApplicationEngine.kt:296) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583)

jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 7 but should be 1 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.GlyphSubstitutionTable readLookupTable SEVERE: The expected SubstFormat for ExtensionSubstFormat1 subtable is 6 but should be 1 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 239, newValue: [74] is trying to override the oldValue: 42 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 239, newValue: [74] is trying to override the oldValue: 42 jan. 26, 2024 12:59:41 E.M. org.apache.fontbox.ttf.gsub.GlyphSubstitutionDataExtractor putNewSubstitutionEntry WARNING: For the newGlyph: 239, newValue: [74] is trying to override the oldValue: 42

[...]

PdfGenITest > Generate sample PDFs using test data$pdfgen_test() SKIPPED

Task :test FAILED
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':test'.

Build cancelled while executing task ':test'

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 9s
6 actionable tasks: 4 executed, 2 up-to-date

`

Usikker, blir nok ikkje før i August eg kan se på det, er i pappaperm😅

@madsop-nav
Copy link
Collaborator Author

Usikker, blir nok ikkje før i August eg kan se på det, er i pappaperm😅

Skjønner! Kos deg!

Har funne ut at mykje av støyen kjem frå denne PDFBox-bugen: https://issues.apache.org/jira/browse/PDFBOX-5743. Blir fiksa i neste patch-versjon, så for den delen er det berre å vente, verkar det som. Ser meir på resten.

@madsop-nav
Copy link
Collaborator Author

Oppdatering: Bytta font frå Source Sans Pro til Roboto-Regular etter tips frå Dag, og da køyrde testane grønt. Har ikkje klart å finne ut meir av korfor.

@MikAoJk
Copy link
Collaborator

MikAoJk commented Feb 5, 2024

Oppdatering: Bytta font frå Source Sans Pro til Roboto-Regular etter tips frå Dag, og da køyrde testane grønt. Har ikkje klart å finne ut meir av korfor.

Hm, tenker at det er ok å bytte font i unit testene.

Men viss du har tid og får hjelp, kan derre se, om derre finner den underliggende årsaken til at dei feiler. Gjerne lag ein Issue på det, så kan derre følge den evt opp der

@MikAoJk
Copy link
Collaborator

MikAoJk commented Feb 6, 2024

@madsop-nav får du til å bytte font type, så kan vi få denne merget inn og den andre PRen?

@madsop-nav
Copy link
Collaborator Author

@madsop-nav får du til å bytte font type, så kan vi få denne merget inn og den andre PRen?

Kan for så vidt det, men eg er på ingen måte sikker på at det berre er i testane det vil feile.

@MikAoJk
Copy link
Collaborator

MikAoJk commented Feb 7, 2024

@madsop-nav får du til å bytte font type, så kan vi få denne merget inn og den andre PRen?

Kan for så vidt det, men eg er på ingen måte sikker på at det berre er i testane det vil feile.

Ser den. Eg tenker vi prøver og ser. Det er ein lokal unit test, som kjører opp hele imaget, som du evt kan verifisere med:
https://github.com/navikt/pdfgen/blob/main/src/test/kotlin/no/nav/pdfgen/DockerImageTest.kt . Den kjører ikkje på ci

@madsop-nav
Copy link
Collaborator Author

madsop-nav commented Feb 7, 2024

@madsop-nav får du til å bytte font type, så kan vi få denne merget inn og den andre PRen?

Kan for så vidt det, men eg er på ingen måte sikker på at det berre er i testane det vil feile.

Ser den. Eg tenker vi prøver og ser. Det er ein lokal unit test, som kjører opp hele imaget, som du evt kan verifisere med: https://github.com/navikt/pdfgen/blob/main/src/test/kotlin/no/nav/pdfgen/DockerImageTest.kt . Den kjører ikkje på ci

Har funne ut litt meir:

  • PDF-ane som blir generert er ikkje gyldig PDF/A. Sjekka også med online-validator.
  • Det fungerer for den ein malen som ligg der som ikkje er syfoso-mal
  • For syfosoknader får vi ugyldig PDF/A viss bokstavane ft står i ein sporsmalstekst eller undertekst i eit hovudspørsmål. Viss eg tar bort denne bokstavkombinasjonen, får vi gyldige PDF/A-dokument.

Vil dermed tippe at denne fonten gjer noko med bokstavkombinasjonen ft, kanskje noko a la dette, og så har ny versjon av pdfbox/openhtmltopdf gjort noko med genereringa av akkurat det.

@madsop-nav
Copy link
Collaborator Author

Til orientering: Eg har lagt denne litt på is, og heller tatt eit skritt oppover i verdikjeda, så no jobbar eg direkte på openhtml2pdf-prosjektet, for å først få på plass release-pipeline og sånt der, og i neste runde lage ein versjon av biblioteket som bruker pdfbox 2 innanfor rammene av den nye organisasjonen.

@MikAoJk
Copy link
Collaborator

MikAoJk commented Feb 21, 2024

Til orientering: Eg har lagt denne litt på is, og heller tatt eit skritt oppover i verdikjeda, så no jobbar eg direkte på openhtml2pdf-prosjektet, for å først få på plass release-pipeline og sånt der, og i neste runde lage ein versjon av biblioteket som bruker pdfbox 2 innanfor rammene av den nye organisasjonen.

Heilt gull 🏅

@madsop-nav madsop-nav force-pushed the oppdatert_openhtmltopdf branch from 6a4ace2 to fb8e419 Compare March 5, 2024 12:15
@MikAoJk MikAoJk merged commit 8036108 into main Mar 5, 2024
4 checks passed
@MikAoJk MikAoJk deleted the oppdatert_openhtmltopdf branch March 5, 2024 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants