Der PDF-Import bricht stets mit der Fehlermeldung “…\jre\bin\awt.dll: Can’t find dependent libraries” ab. Bislang hat der PDF-Import stets korrekt funktioniert. Der Fehler tritt für die PDF-Dokumente von Consors und Trade Republic auf (andere Broker nicht getestet).
Die awt.dll liegt im genannten Verzeichnis vor. Eine Neuinstallation von PP (Version 0.56.2) behebt den Fehler leider nicht. Ich verwende Windows 11 mit den aktuell verfügbaren Updates.
Vielen Dank vorab für einen Hinweis, wie das Problem behoben werden kann.
Auf meinem System habe ich kein “Extra”-JDK installiert. Zusammen mit Portfolio Performance wird ja bereits die Azul Zulu Java Runtime installiert auf die PP zurückgreift (Verzeichnis …\PortfolioPerformance\plugins\name.abuchen.zulu.jre.win32.x86_64_11.0.12\jre). Bislang hat dieses Setup so ja auch funktioniert bis in der letzten Woche der oben genannte Fehler aufgetreten ist. Den Fehler vermute ich daher an anderer Stelle.
Die einzigen Änderungen an meinem System waren zuletzt die Installation des Win 11 21H2 Feature Pack + einige Sicherheitsupdates. Liegt hier evtl. das Problem?
Noch ein Zusatz: Im PP-Fehlerprotokoll wird folgendes geloggt, wenn ich versuche ein PDF zu importieren:
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:395)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:468)
at name.abuchen.portfolio.ui.handlers.ImportPDFHandler.runImportWithFiles(ImportPDFHandler.java:185)
at name.abuchen.portfolio.ui.handlers.ImportPDFHandler.runImport(ImportPDFHandler.java:124)
at name.abuchen.portfolio.ui.handlers.ImportPDFHandler.lambda$0(ImportPDFHandler.java:66)
at java.base/java.util.Optional.ifPresent(Unknown Source)
at name.abuchen.portfolio.ui.handlers.ImportPDFHandler.doExecute(ImportPDFHandler.java:66)
at name.abuchen.portfolio.ui.handlers.ImportPDFHandler.execute(ImportPDFHandler.java:60)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:317)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:251)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4237)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3626)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1041)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:168)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Caused by: java.lang.UnsatisfiedLinkError: C:\Users\mstoe\AppData\Local\Programs\PortfolioPerformance\plugins\name.abuchen.zulu.jre.win32.x86_64_11.0.12\jre\bin\awt.dll: Can't find dependent libraries
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(Unknown Source)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(Unknown Source)
at java.base/java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.base/java.lang.Runtime.loadLibrary0(Unknown Source)
at java.base/java.lang.System.loadLibrary(Unknown Source)
at java.desktop/java.awt.Toolkit$3.run(Unknown Source)
at java.desktop/java.awt.Toolkit$3.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.Toolkit.loadLibraries(Unknown Source)
at java.desktop/java.awt.Toolkit.<clinit>(Unknown Source)
at java.desktop/java.awt.Color.<clinit>(Unknown Source)
at org.apache.pdfbox.pdmodel.PDPage.<clinit>(PDPage.java:79)
at org.apache.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:218)
at org.apache.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:186)
at org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAllPages(PDDocumentCatalog.java:213)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:354)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:287)
at name.abuchen.portfolio.datatransfer.pdf.PDFInputFile.convertPDFtoText(PDFInputFile.java:83)
at name.abuchen.portfolio.datatransfer.pdf.PDFImportAssistant.run(PDFImportAssistant.java:100)
at name.abuchen.portfolio.ui.handlers.ImportPDFHandler.lambda$2(ImportPDFHandler.java:161)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Aus dem mit PP eingepackten Java 11 schmeisse ich ein paar Sache raus die PP nicht benötigt und die das ZIP kleiner machen. AWS ist so ein Fall. Hier aber scheint die Konvertierung des PDFs in Text aber auch auf einen Farbraum zurückzugreifen der wiederum den AWS Teil braucht. Strange.
Was Du versuchen könntest: Java 11 lokal installieren, in PortfolioPerformance.ini die Java Installation umschiessen, dann importe probieren.
@techsto könntest Du mir das Original PDF mal an portfolio dot performance dot help at gmail dot com schicken? Wir natürlich vertraulich behandelt. Ich möchte schauen ob ich das fixen kann - Farben interessieren mich aus dem PDF ja eigentlich gar nicht.
Danke für Dein Feedback, @AndreasB! Die Original-PDF-Dokumente habe ich Dir gerade per Mail geschickt. Ich habe jeweils ein Beispiel für Trade Republic, Consorsbank und Scalable Capital zur Verfügung gestellt.
Etwas ist mir noch aufgefallen: Versuche ich ein 2. Mal ein PDF zu importieren, erhalte ich eine andere Fehlermeldung, nämlich folgende:
Die Fehlermeldung ändert sich dann aber nicht mehr, wenn ich den Import ein 3., 4. etc. Mal anstoße.
Das ist ein normales Verhalten. Beim ersten Mal versucht Java die Klasse zu laden, beim zweiten und allen weiteren Versuchen versucht es Java nicht mehr sondern bricht schon früher mit einer (leicht anderen) Fehlermeldung ab.
Ich kann ebenfalls bestätigen, das ein separates JDK den Fehler behebt. In meinem Fall habe ich Java v17.0.1 (das Oracle JDK) installiert, die ini angepasst und der PDF-Import funktioniert nun wieder einwandfrei.
Guten Tag Andreas, kannst du mir erklären wie ich die PortfolioPerformance.ini in die Java Installation umschiessen kann? Ich hab Java lokal installiert, weiß jetzt aber nicht wie ich die weiteren Schritte lösen kann. Bei mir brechen die PDF Imports auch seit kurzen mit der gleichen Fehlermeldung ab. Danke schonmal