Electron: Aktivieren Sie den PDF Viewer

Erstellt am 17. März 2018  ·  133Kommentare  ·  Quelle: electron/electron

Es wurde während des Chromium 63-Upgrades in # 11459 deaktiviert.
Bitte aktivieren Sie das Flag enable_pdf_viewer in features.gypi , korrigieren Sie die Kompilierung und testen Sie.

app-feedback-program bug chromium componenpdf-viewer platforall upgrade-follow-u63

Hilfreichster Kommentar

Dies sollte bereit sein, um in der nächsten Nacht 10.x zu testen. Ich hoffe, dass ich auch auf 9.x zurückportieren kann, obwohl es möglicherweise nicht hängen bleibt, wenn es Probleme verursacht.

Alle 133 Kommentare

@sethlu @gnahzak Hat einer von euch Zeit gehabt, daran zu arbeiten?

Dies ist immer noch ein 3.0.0-Blocker

@ckerr Seit der Eröffnung von https://github.com/electron/electron/pull/13760 konnten wir keine großen Fortschritte

Wie kann eine "stabile" Version veröffentlicht werden, wenn dies nicht behoben ist? Ich verbringe Stunden damit herauszufinden, warum meine Anwendung nach dem Update nicht funktioniert hat.

3.0.0 ist eine neue Hauptversion, die per Definition "Änderungen enthalten kann, die die Abwärtskompatibilität beeinträchtigen". Sie haben vielleicht ihre Gründe, warum sie dies für 3.0.0 ausgeschlossen haben, aber ja, ich denke, das Entfernen solcher Funktionen ist auch nicht so cool ...

Wie kann eine "stabile" Version veröffentlicht werden, wenn dies nicht behoben ist? Ich verbringe Stunden damit herauszufinden, warum meine Anwendung nach dem Update nicht funktioniert hat.

Es ist schrecklich! Bis jetzt haben sie noch nicht behoben ...

Wir haben uns entschieden, die Unterstützung für natives PDF-Rendering aus der Version 3.0.0 zu streichen, da wir nicht genügend Mitarbeiter haben, um die Wartung fortzusetzen, und es ist keine weit verbreitete Funktion. Dies wurde in den Versionshinweisen vermerkt . Wir sind immer noch daran interessiert, es zurückzubringen, aber derzeit hat niemand im Kernteam die verfügbare Zeit, um daran zu arbeiten. Daher ist es auf absehbare Zeit ins Stocken geraten. Wenn Sie ein Comeback erleben möchten, machen Sie bitte eine PR!

Ich würde mich sehr freuen, wenn dies wieder funktioniert. Wie kann ich helfen?

Gibt es eine Möglichkeit, es in meiner App zum Laufen zu bringen, ohne eine veraltete Version verwenden zu müssen?
Soll ich https://github.com/electron/electron/tree/enable-pdf-plugin verwenden ? Wenn ja, wie?

Die beste Weg wäre zu starten , indem Sie eine lokale Version von Elektronenlauf bekommen, und die Angabe der enable_pdf_viewer = true Build - Option in dem gn gen Schritt, zB

$ gn gen out/Debug --args='import("//electron/build/args/debug.gn") enable_pdf_viewer=true'

(Oder bearbeiten Sie gleichwertig out/Debug/args.gn nachdem Sie den regulären Schritt gn gen , und fügen Sie das Argument enable_pdf_viewer = true .)

Die beste Weg wäre zu starten , indem Sie eine lokale Version von Elektronenlauf bekommen, und die Angabe der enable_pdf_viewer = true Build - Option in dem gn gen Schritt, zB

$ gn gen out/Debug --args='import("//electron/build/args/debug.gn") enable_pdf_viewer=true'

(Oder bearbeiten Sie gleichwertig out/Debug/args.gn nachdem Sie den regulären Schritt gn gen , und fügen Sie das Argument enable_pdf_viewer = true .)

Wie kann ich das mit Electron Builder machen?

Der Elektronenbauer ist trotz des Namens kein Werkzeug zum Aufbau von Elektronen. Sie müssen den Anweisungen zum Aufbau des Elektrons selbst folgen.

(Die obige Referenz war fehlerhaft. Ich habe meine Zwischenablage gereinigt und sie ging aus.)

Der Elektronenbauer ist trotz des Namens kein Werkzeug zum Aufbau von Elektronen. Sie müssen den Anweisungen zum Aufbau des Elektrons selbst folgen.

Wenn es nur eine Flagge ist, warum ist sie im offiziellen Build nicht aktiviert?

Wenn es nur eine Flagge ist, warum ist sie im offiziellen Build nicht aktiviert?

Wenn Sie das Flag aktivieren, funktioniert es nicht wirklich. Im aktuellen Status werden dem Electron-Erstellungsprozess lediglich die erforderlichen Deps und Dateien hinzugefügt. Diese Dateien weisen Kompilierungsfehler auf und verursachen beim Ausführen Abstürze. Diese Kompilierungsprobleme und Abstürze müssen behoben werden, bevor sie im offiziellen Build aktiviert werden können.

Zu Ihrer Information ... Wenn Sie jetzt Unterstützung für PDF-Viewer in 3-0-x benötigen, können Sie https://github.com/gerhardberger/electron-pdf-window verwenden. Ich habe es gerade auf Electron 3.0.8 getestet und es funktioniert perfekt.

Danke @jkleinsc Leider
In meiner Gabelung von 3-0-xi habe ich versucht, den PDF-Viewer mit diesem Commit zu reparieren.

Dies kompiliert und verlinkt, leider funktioniert PDF immer noch nicht, ich habe debuggt und festgestellt, dass:
In AtomResourceDispatcherHostDelegate :: ShouldInterceptResourceAsStream ()
GetAssociatedRenderFrame gibt -1 und -1 zurück.

Wenn ich auf einem 2-0-x-Zweig debugge, erhalte ich keine -1-Werte und PDF funktioniert.
Kann mir jemand helfen? Vielleicht bist du @ deepak1556 ?

Wir haben uns entschieden, die Unterstützung für natives PDF-Rendering aus der Version 3.0.0 zu streichen, da wir nicht genügend Mitarbeiter haben, um die Wartung fortzusetzen, und es ist keine weit verbreitete Funktion. Dies wurde in den Versionshinweisen vermerkt . Wir sind immer noch daran interessiert, es zurückzubringen, aber derzeit hat niemand im Kernteam die verfügbare Zeit, um daran zu arbeiten. Daher ist es auf absehbare Zeit ins Stocken geraten. Wenn Sie ein Comeback erleben möchten, machen Sie bitte eine PR!

Hallo @nornagon Was ich in den
Diese Nachricht war ziemlich positiv, viel mehr als "es ist keine weit verbreitete Funktion". Haben Sie übrigens Statistiken zu dieser letzten Aussage?

Ich weiß, dass dies nicht StackOverflow ist, aber ich verwende es vorerst

shell.openItem(fullPath)

um den System-PDF-Viewer zu verwenden, der ohnehin auf den meisten Systemen installiert ist und der auch eine Druckoption hat, die selbst in [email protected] zu fehlen scheint

Sind Arbeiten für die nächste Hauptversion geplant? Wir sind wegen des PDF-Viewers immer noch auf Elektron v2.0.16 .

v4.0.0 gerade veröffentlicht und laut Support Doc unterstützen Sie nur die letzten 3 Release-Zweige. Es wäre schön, wenn wir den PDF-Viewer in Version 5 zurückbekommen könnten, um weiterhin Sicherheitspatches zu erhalten.

@jkleinsc Wird daran aktiv gearbeitet? Ansonsten werde ich an einem Fix arbeiten.

@chriswald Ich arbeite daran, habe es aber noch nicht fertiggestellt. Wenn Sie also eine Lösung bereit haben, lassen Sie es mich wissen. Ansonsten beende ich die Arbeit, die ich begonnen habe.

Ich habe die meisten Buildfehler behoben, bin aber heute Morgen beim Generieren der pdf_viewer_resources-Dateien aufgehängt. Können wir uns im Slack unterhalten, damit wir nicht alle in diesem Thread spammen?

@chriswald sicher, dass wir in Slack chatten können.

@jkleinsc Hast du Fortschritte gemacht? Ich konnte mich bei Slack nicht mit Ihnen in Verbindung setzen, aber ich möchte verstehen, ob ich weiterhin Zeit in eine Lösung investieren sollte.

Ja bitte @chriswald!

Dies ist ein Beta-Blocker für 3.0, 4.0 und 5.0 für uns, daher bleiben wir bei 2.0. @walltex für weitere Details.

@chriswald Ich arbeite daran, das Problem für 5-0-x und 4-0-x zu

@jkleinsc Perfekt! Haben Sie ein voraussichtliches Datum, an dem das Update fertig sein wird?

@chriswald gute

@jkleinsc "wird neu geschrieben"> Das hatte ich auch gesehen, es ist gut zu wissen, dass ich auf dem richtigen Weg war. Die Zielerreichung ist der letzte Faktor, den ich brauche, um zu entscheiden, ob ich weiter daran arbeiten muss, um unsere eigenen Zeitpläne einzuhalten. Vielen Dank für Ihr Update! Bitte halten Sie mich auf dem Laufenden!

@chriswald Nachdem ich mich ein wenig weiter schätze ich konservativ, bis Ende des Monats eine Lösung zu haben. Es kann früher erledigt werden, aber ich muss realistisch sein, da ich 2 von 4 Wochen im Februar unterwegs bin.

@jkleinsc Danke für das Update! Das klingt für mich gut und passt gut in unsere eigenen Zeitpläne. Ich werde meine Entwicklungsumgebung für den Fall einrichten, dass etwas auftaucht. Wenn diese Schätzung veröffentlicht wird, lassen Sie es mich bitte wissen und ich kann möglicherweise wieder einspringen. Vielen Dank!

Gibt es ein Update zum Status?

Gibt es einen Meilenstein?
Ich werde mein Projekt wahrscheinlich in den Zweig 2.0.x verschieben, weil ich den Viewer wirklich brauche. Aber es in stabilem 3.x zu reparieren wäre weitaus besser.

@jkleinsc Wie weit bist du gekommen? Irgendwelche guten Ergebnisse?

@vsvipul es kommt mit, aber leider haben andere Verantwortlichkeiten meinen Fortschritt verlangsamt. Ich hoffe, dass ich diese und die nächste Woche daran arbeiten kann

Vielleicht kann mir hier jemand bei dieser Problemumgehung helfen. Ich bin irgendwie verloren.
Ich habe ein Winkelprojekt, das Elektronen mit dem Elektronenpacker verwendet, um eine ausführbare Datei zu erhalten. Ich habe in meinem Elektronenpaket und in meinen lokalen node_modules erfolglos nach den features.gypi gesucht. Könnte jemand sagen, wo das zu finden ist?

@Corebee Alles, einschließlich aller derzeit möglichen Lösungen, ist in der akzeptierten Antwort auf diese Frage zusammengefasst:

https://stackoverflow.com/q/52844135/7910454

@Corebee Alles, einschließlich aller derzeit möglichen Lösungen, ist in der akzeptierten Antwort auf diese Frage zusammengefasst:

https://stackoverflow.com/questions/52844135/view-pdf-in-electron-browserwindow

Ah danke, habe das nicht gesehen. Ich werde es versuchen, bis es die richtige Lösung gibt. Danke @ MiXT4PE

@jkleinsc gibt es Neuigkeiten zum Update? Auch wenn ich irgendwie helfen kann, werde ich es gerne tun.

@DmitryMK Es stellt sich heraus, dass für die Implementierung in 5-0-x und

@jkleinsc danke für das Update. Es sieht so aus, als ob die Aktivierung des Netzwerkdienstes selbst eine große Aufgabe ist. Bedeutet dies zur Verdeutlichung, dass der PDF-Viewer nicht in den Versionen 3 und 4 verfügbar sein wird?

@DmitryMK Die Arbeit, die ich mache, konzentriert sich darauf, es im Master zum

@jkleinsc - Gibt es eine Schätzung, wann es eine Elektronenversion geben wird, die den Fix enthält?
Aus Ihrer Antwort auf DmitryMK geht hervor, dass wir uns nicht darauf verlassen sollten, das Update auf Electron 4 zurück zu portieren.
Dies ist eine große Regression, die viele Anwendungen betrifft und ein Upgrade von Electron 2.0.X verhindert, bis es eine Version gibt, die das Update enthält

@jkleinsc wie können wir helfen? https://github.com/electron/electron/pull/17163

@arnaudbud danke für die Nachfrage. Ich habe versucht, es zum Laufen zu bringen, aber ich denke, mein Ansatz, genau an dem festzuhalten, was Chromium tut, wird erst funktionieren, wenn wir eine robustere Unterstützung für Erweiterungen haben. Es gibt hier eine PR # 17440, die versucht, das zu tun. An diesem Punkt werde ich darüber nachdenken. Wenn also jemand anderes es ausprobieren möchte (vielleicht in einem Ansatz, der keine Unterstützung für Erweiterungen erfordert), können Sie dies gerne tun.

@jkleinsc Bedeutet das, dass der native PDF-Viewer nicht in Version 6.x implementiert werden kann?

Ausführen von Electron 6.0.0-beta.4
Immer noch keine PDF-Unterstützung 👎

@ mailtokartik1 es ist möglich, dass es den Weg zu 6.x findet, wenn jemand daran arbeitet, aber das weiß ich, niemand arbeitet daran.

neugierig, ist ein c ++ erforderlich, um zu Electron beizutragen?

Was unterstützt der integrierte PDF-Viewer, der mit PDF.js nicht erreicht werden kann?

Soweit mir bekannt, nichts, aber ich würde es sparen, die Codebasis in alten Anwendungen umgestalten zu müssen.

Ich sehe so aus, als wäre es relativ einfach, ein BrowserWindow zu erstellen, das das erforderliche PDF in den PDF.js-Viewer lädt. Hier ist ein Beispiel, das ich dafür gefunden habe.

Stellen Sie einfach sicher, dass Sie alle relevanten PDF.js-Dateien einschließen.

Wir verwenden PDF.js, um Vorschauen in unsere Hauptbenutzeroberfläche zu laden, und haben nur Gutes zu sagen. Es ist der in Firefox verwendete Viewer, daher ist er gut getestet.

@beig refs # 12337

"Es wurde während des Chromium 63-Upgrades in # 11459 deaktiviert.
Bitte aktivieren Sie das Flag enable_pdf_viewer in den Funktionen.

Könnten wir das in der nächsten Beta bekommen?

Das lässt eingebettete PDFs weg, braucht keine ganz neue Fensteröffnung -

@Nashorn das Beispiel, mit dem ich verlinkt habe, sollte für WebView usw. genauso gut funktionieren.

Scheint, dass das jetzt auch nicht funktioniert ...
Ich versuche, Objekt-Tag mit application / pdf zu verwenden und nein ...

@dalexhd Wenn Sie damit geöffnet wird, lesen Sie diese Antwort: https://stackoverflow.com/q/52844135/7910454

Du meinst, Plugins auf true setzen? Wenn das der Fall ist, funktioniert es immer noch nicht ....
Wenn nicht, gehen Sie bitte ein bisschen in die Tiefe ...
¿Wie kann ich PDF wie in Chrom, in Electron anzeigen?

Ist es möglich, mit pdf.js genau das gleiche Verhalten wie im integrierten PDF-Viewer zu erzielen?
Bevor der eingebaute Viewer überhaupt eine Sache war (ich denke, Elektron v1 oder sogar frühes v2), habe ich eine Lösung mit pdf.js versucht, aber es fühlte sich zu kompliziert an.

Das Rendern von PDFs über pdf.js funktionierte gut, als ich im Voraus wusste, dass der Inhaltstyp application/pdf , da ich die Ressourcen-URL abrufen und über den Abfrageparameter an eine lokale Kopie von pdf.js übergeben und dann anzeigen konnte das in einem eigenen Fenster oder einfach in einem <iframe> inline.

Aber ich konnte keine gute Lösung finden, um ein PDF zu rendern, das Teil des Inhalts ist, der in einem <iframe> (oder einem <iframe> innerhalb eines <iframe> mehreren Ebenen Tiefe usw. Gerendert wird .), da ich nicht glaube, dass ich die src Iframes umschreiben könnte, um auf pdf.js zu verweisen

Gibt es eine Möglichkeit, alle Inhalte vom Typ application/pdf und über zu rendern? pdf.js, auch wenn es sich um Inhalte handelt, die mehrere Ebenen tief in <iframe> Elemente eingebettet sind?

Dies ist etwas, das gerade mit dem eingebauten Viewer funktioniert hat und mein Hauptgrund dafür ist, dass PDF.js zur dauerhaften "Lösung" wird, es sei denn, jemand kann mir bei meinen oben genannten Problemen helfen :) :) :)

@ chris-ls In meinem Fall enthält mein PDF dynamische Eingaben, sodass meine Firma sie nicht mit pdf.js füllen kann.

Ich habe auch Seiten mit Inline-PDF-Anzeige, die nicht in der Lage sind, Hunderte von Seiten für diese Art der Verkabelung zu ändern. Außerdem habe ich keinen Zugriff oder darf das eingehende HTML / js nicht ändern

Eingebettetes / Inline-PDF bietet unseren Apps den dringend benötigten Kontext.
Es ist wertvoll, PDF-Inhalte in einer breiteren Ansicht zu betrachten.

Das PDF-Plugin von Chrome ist allen Implementierungen von React pdf.js, die ich bisher für eine Probefahrt verwendet habe, in Bezug auf Leistung und Einfachheit / Robustheit überlegen.

Können wir bitte in einer zukünftigen Version die eingebettete / Inline-PDF-Unterstützung in Electron Chrome aktivieren oder eine PATCH-Konfiguration für die Zwischenzeit festlegen?

Daumen hoch

Dies blockiert das Problem für mich wirklich. Meine Anwendung ist für den Unternehmensgebrauch mit der Generierung von PDF-Zertifikaten aus der Datenbank konzipiert.
Diese Funktion muss für mich unbedingt benötigt werden.

@jkleinsc , du hast deine Aufgabe entfernt - wird an diesem Problem noch gearbeitet?

@ MiXT4PE , von dem ich weiß, dass derzeit niemand daran arbeitet.

@jkleinsc Das ist ein echter Mist. Was sind die Schwierigkeiten?

Ich würde es wirklich gerne wissen. Alle Umgehungen durch das Team und andere sind alles andere als akzeptabel. Wir benötigen eine nahtlose, native Methode, um Objekte und / oder Iframes zu verwenden, um eingebettete PDFs anzuzeigen.

@ MiXT4PE Die Hauptsache, auf die ich beim gestoßen bin, war die Abhängigkeit vom Chrom-Erweiterungssystem. Electron unterstützt nur einen Teil dieses Systems, was die Integration des Betrachters erschwerte.

@jkleinsc Warum hat es mit Electron 2.x funktioniert und funktioniert nicht mehr mit 3.x und höher? War der PDF-Viewer in Chromium 61 (Electron 2.x) nicht vom Chromium-Erweiterungssystem abhängig?

Wenn 2.XX bald keine Sicherheitsupgrades mehr erhält, wird diese Situation von schrecklich zu katastrophal ...

Ich zitiere die Versionshinweise zu 3.0.0 :

PDF Viewer funktioniert derzeit nicht, wird aber noch bearbeitet und wird bald wieder funktionsfähig sein

@ MiXT4PE Open Source ist weitgehend freiwillig und kooperativ. Aus diesem Grund sind Zeit und Energie, um Dinge zu erledigen, oft die knappsten Ressourcen. Wir wollen, dass Electron das Beste ist, was es sein kann, aber wir müssen auch realistisch sein, was das Team, das Electron wartet, erreichen kann. Dies bedeutet, dass:

  • Möglicherweise haben wir keine ETA, wann ein Problem untersucht oder behoben wird.
  • Etwas, das Sie implementieren möchten, wird möglicherweise nicht implementiert.
  • Eine Änderung, die Sie zusammenführen möchten, wird möglicherweise nicht zusammengeführt.
  • Das Beharren auf oder das Erfordernis eines der oben genannten Punkte wird gegen den Verhaltenskodex für Elektronen verstoßen

@jkleinsc Ich stimme Ihnen zu ... Aber denken Sie daran, dass dies eine sehr wichtige Funktion ist, die nach der Veröffentlichung der Version 2.0 nicht mehr funktioniert. Können Sie uns erklären, warum dieser "Fehler" nicht untersucht wird?
Danke für alle Geduld ^^.

@dalexhd Leider hat dies keine Priorität für die Unternehmen, die die

Alle: Dies ist das Open Source-Spiel. Wenn Sie eine Funktion möchten: Tun Sie es, zahlen Sie dafür oder warten Sie ;)

@jkleinsc Was ist mit dem Hinzufügen dieses Repos zu issueHunt oder Github Sponrors, wie ich es in dieser Ausgabe # 18113 vorschlage? Dies könnte Menschen dazu motivieren, an Funktionen wie dieser zu arbeiten.

@popod Ja, dieses Problem würde gut zu IssueHunt passen. Ich werde es an die anderen Betreuer weitergeben.

mit. ?
Du meinst, wir können dafür bezahlt werden, Features / Bugfixes hinzuzufügen (~~ Gehirn bombardiert)?

Ich bin bereit, 1000 Dollar für diese Funktion aufzubringen. Irgendjemand anderes?

Ich bin derzeit nicht im Büro. Ich kehre zurück am 05.08.2019.
Ich werde Ihre Nachricht nach meiner Rückkehr beantworten.

Die Rückmeldung bezieht sich auf ein Mail mit folgendem Thema:
Re: [electron/electron] Enable PDF Viewer (#12337)


Gesendet (c) GRZ/RACON Linz 2019 Agent 'Abwesenheit'


Raiffeisen Software GmbH
Firmenbuchnummer: 86804d, Landesgericht Linz
DVR: 0572934, UID: ATU 36961105

Der Austausch von Nachrichten mit dem oben angeführten Absender via E-Mail
dient ausschließlich Informationszwecken. Rechtsgeschäftliche Erklärungen
dürfen über dieses Medium nicht ausgetauscht werden.
Correspondence with above mentioned sender via e-mail is only for
information purposes. This medium is not to be used for the exchange of

legally-binding communications.

@jkleinsc Nun, da mit # 17440 eine bessere Unterstützung für Erweiterungen auf dem Weg ist - glauben Sie, dass die Arbeit an diesem Problem wieder aufgenommen wird?

@ MiXT4PE hoffentlich. Ich werde mindestens # 17163 aktualisieren, um die Änderungen von # 17440 zu übernehmen und zu sehen, ob die aktuelle Arbeit dort Dinge freischaltet.

@jkleinsc Danke!

Danke 👍

Ich weiß nicht, wie sehr dies euch helfen wird, aber es kann eine vorübergehende Problemumgehung für das PDF-Problem geben, indem Mozilla- PDFs verwendet werden, bis Electron in naher Zukunft native PDF- viewer.html weitergeleitet werden, damit PDF-Dateien das PDF öffnen und in den Mozilla PDF-Viewer laden können.

Ein kleines funktionierendes Snippet kann wie folgt aussehen:

function createWindow () {
  // Create the browser window.
  session.defaultSession.on('will-download', onDownload);
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      webviewTag: true
    }
  })

function onDownload(event, item, webContents) {
  console.log('onDownload');
  // Prevent from downloading pdf file.
  if (item.getMimeType() == 'application/pdf' && item.getURL().indexOf('blob:file:') != 0) {
    event.preventDefault();
    BrowserWindow.getFocusedWindow().loadFile(path.resolve(__dirname, "pdfjs/web/viewer.html"));
    //mainWindow.loadUrl(path.resolve(__dirname, "pdfjs/web/viewer.html"));
  }
}

Ich habe hier eine funktionierende Demonstration davon: https://github.com/mailtokartik1/sampleElectron.
Natürlich können Sie die PDFs als Fernbedienung hinzufügen, aber dies ist nur eine funktionierende Demo. Hoffe das hilft jemandem.

@ mailtokartik1 Mozilla pdf.js unterstützt die Feldvervollständigung nicht. Dies ist das Hauptproblem.

@dalexhd Ja, aber ich dachte, es gibt keinen Problemumgehung für dieses Problem in diesem Thread, und vielleicht suchen einige Leute nur nach einer Problemumgehung.

Hi @ mailtokartik1
Können Sie erklären, wie diese Problemumgehung auf hohem Niveau funktioniert? Scheint, als würde es die Anfrage abfangen und an einen Viewer weiterleiten, aber ich sehe nicht, dass die Variable "encodedUrl" verwendet wird. ?

Hallo @Nashorn
Ja, das encodeUrl wird hier nicht verwendet. Ich habe versucht, die codierte URL der Webseite abzurufen und dem Benutzer anzuzeigen, aber dann hat es ohne sie gut funktioniert und ich hielt es nicht für notwendig (Bearbeitet die Kommentar übrigens). In Bezug auf die Erklärung besteht das Standardverhalten von Electron darin, die PDF-Links herunterzuladen. Wenn wir also das Ereignis will-download anhören und prüfen, ob es sich um ein PDF handelt, können wir den Inhalt an den PDF-Viewer weiterleiten.

@ mailtokartik1 Ich glaube nicht, dass dies für eingebettete PDF-Dateien funktioniert.

Ich möchte, dass PDF-Dateien über einen Iframe in den HTML-Code eingebettet werden und dieser nur auf einen weißen Bildschirm umgeleitet wird, wenn ich das implementiere, was Sie getan haben.

@teckwrek Ich bin bereit, 1000 Dollar für diese Funktion

Ich werde diesem Topf leicht $ 500 hinzufügen. @jkleinsc : Hat jemand eine Issuehunt eingerichtet?

Ich bin bereit, meine verrückte Dankbarkeit hinzuzufügen, weil ich arm bin.

@jkleinsc Hast du Fortschritte gemacht? Außerdem: Wie würde ich für diese Funktion bezahlen?

@ MiXT4PE leider nein. IssueHunt scheint mehr GitHub-Berechtigungen zu wollen, als wir uns vorstellen können, aber jeder kann ein Kopfgeld auf BountySource oder einer ähnlichen Plattform eröffnen.

@jkleinsc Gibt es

@ DanielJackson-Oslo @teckwrek Sie können ein Kopfgeld zu diesem Thema unter https://www.bountysource.com/issues/56240517-enable-pdf-viewer setzen

@teckwrek @ MiXT4PE Meine $ 500 hinzugefügt

@jkleinsc Können wir auf andere Weise helfen, dies zu erreichen?

@ DanielJackson-Oslo Der mit Abstand einfachste Weg, dies zu umgehen, besteht darin, den pdf.js-Viewer-Code von hier [klicken Sie auf Stable (v2.1.266)] in einen statischen Ordner in Ihrer Elektronen-App einzufügen und in einen Iframe src="statics/pdfjs/web/viewer.html?file=file:///path/to/some.pdf" laden oder sogar ein Base64-codiertes PDF wie src="statics/pdfjs/web/viewer.html?file=data:application/pdf;base64,<data>"

[Bearbeiten] Letzteres unterliegt wahrscheinlich einer URL-Beschränkung von 2 MB, es sei denn, dies wurde in jüngster Zeit in Chrom oder Elektron aufgehoben.

@ Mosu-Forge Danke. Im Moment gibt es Probleme mit pdf.js und Create React App, die ich beim letzten Mal nicht behoben habe. Ich werde später darauf zurückkommen, aber es fühlt sich immer noch wie ein Hack an. Das Beheben dieses Problems und das Erhalten von Chromium würde zu einer viel schöneren Lösung führen.

Siehe https://github.com/wojtekmaj/react-pdf/issues/413 und https://github.com/wojtekmaj/react-pdf/issues/291 sowie https://github.com/mozilla/pdf .js / issue / 10813

Ich habe nicht versucht, es selbst hinzuzufügen, wie Sie es dort beschreiben, werde es in den Rückstand setzen :)

Es gibt Lösungen für die Anzeige von PDF-Dokumenten. Die Implementierung von Chrome ist jedoch bei weitem überlegen. Daher liegt unser Gewicht auf diesem Problem. Das PDF-Plugin von Chrome ist allen Implementierungen von React pdf.js, die ich bisher für eine Probefahrt verwendet habe, in Bezug auf Leistung und Einfachheit / Robustheit überlegen.

@ Mosu-Forge

Das Einfügen von pdf.js scheint ein unnötiger "Hack" zu sein, wenn Chromium native PDF-Leseunterstützung bietet.

Es ist viel einfacher, Chromium einfach damit umgehen zu lassen, als die gesamte Seite nach einem Frame mit einer PDF-Quelle durchsuchen und zumindest meiner Meinung nach durch einen pdf.js-Viewer ersetzen zu müssen. (Beispiel basierend auf meiner Nutzungsanforderung.)

@teckwrek > Ich bin bereit, 1000 US-Dollar für diese Funktion

Es ist hier verfügbar: https://www.bountysource.com/issues/56240517-enable-pdf-viewer
Nur eine Erinnerung!

@ MiXT4PE @ DanielJackson-Oslo Meine $ 1000 hinzugefügt

@jkleinsc Bitte!

Ich habe Probleme beim Ausführen von Tests. Könnte mir jemand helfen? Ich möchte versuchen, es zu lösen

Meine Tests schlagen bei Neuinstallation fehl. Ich gehe davon aus, dass ich es zum Laufen bringen muss, bis ich mit meinen Änderungen beginne. Können Sie mir beim Ausführen helfen?

Verwendete Knotenversion: v8.16.0
Betriebssystem: Linux x64 Kernel 5. * (KDE Neon)
Alle installierten Bibliotheken und Tools wurden wie in der Dokumentation kompiliert

Running: Main process specs
Unhandled exception in main spec runner: electron/spec-main/api-net-spec.ts(1055,29): error TS2345: Argument of type 'ClientRequest' is not assignable to parameter of type 'WritableStream'.
  Property 'writable' is missing in type 'ClientRequest' but required in type 'WritableStream'.

Traceback (most recent call last):
  File "/home/tcd/electron-gn/src/electron/script/dbus_mock.py", line 28, in <module>
    subprocess.check_call(sys.argv[1:])
  File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/tcd/electron-gn/src/out/Debug/electron', 'electron/spec-main']' returned non-zero exit status 1
✗ Electron tests failed with code 1.
npm ERR! Test failed.  See above for more details.

Irgendwelche Updates? @jkleinsc

Kann jemand eine vernünftige Schätzung abgeben, was $ -weise nötig sein könnte, um dies zu einer Priorität zu machen? Ist es möglich, bis April 2020 fertig zu sein?

Kann jemand eine vernünftige Schätzung abgeben, was $ -weise nötig sein könnte, um dies zu einer Priorität zu machen? Ist es möglich, bis April 2020 fertig zu sein?

Anscheinend> 1.600 USD (https://www.bountysource.com/issues/56240517-enable-pdf-viewer)

Ich sehe, dass dies begangen wurde. Ich bitte jemanden, diesen Code zu schreiben, was nötig wäre. Bei 1600 US-Dollar warten wir immer noch auf eine Lösung. Ist $ 4000 ein besseres Ziel? 16.000 US-Dollar? Ich weiß nicht, wie viel Aufwand erforderlich ist, daher ist es für mich schwierig zu wissen, was vernünftig ist.

von meinem Iphone gesendet

Am 8. Dezember 2019, um 9:31 Uhr, schrieb Leon Heess [email protected] :

Wenn Sie
Kann jemand eine vernünftige Schätzung abgeben, was $ -weise nötig sein könnte, um dies zu einer Priorität zu machen? Ist es möglich, bis April 2020 fertig zu sein?

Anscheinend> 1.600 USD (https://www.bountysource.com/issues/56240517-enable-pdf-viewer)

- -
Sie erhalten dies, weil Sie kommentiert haben.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder melden Sie sich ab.

@namotco Sie können ein Kopfgeld festlegen, das abläuft. Wählen Sie einfach den Ablauf in 3 Monaten und verpfänden Sie alles, was Sie bereit sind, für diese Funktion zu bezahlen. Entweder erhalten Sie die Funktion bis dahin oder Sie erhalten Ihr Geld zurück.

Dies sollte bereit sein, um in der nächsten Nacht 10.x zu testen. Ich hoffe, dass ich auch auf 9.x zurückportieren kann, obwohl es möglicherweise nicht hängen bleibt, wenn es Probleme verursacht.

OH MEIN GOTT DANKE VIELEN SCHÖNEN SCHÖNEN SCHÖNEN PERSONEN !!

Ich kann bestätigen, dass der PDF-Viewer in der letzten nächtlichen Version (10.0.0-nightly.20200216) wieder funktioniert. Vielen Dank für die harte Arbeit an alle Beteiligten.

Vielen Dank für dieses lang erwartete Feature!
Beinhaltet dies irgendwie die Fähigkeit zu drucken?

Vielen Dank für dieses lang erwartete Feature!
Beinhaltet dies irgendwie die Fähigkeit zu drucken?

In meiner App funktioniert der PDF-Druck immer noch nicht. Ich erhalte die folgenden Fehler "ipc_message_attachment_set.cc MessageAttachmentSet wurde mit nicht verbrauchten Anhängen zerstört"

Hallo @nornagon .... Ich habe bestätigt, dass der PDF-Viewer funktioniert und mein Teil der Prämie Ihnen gehört!

Könnte ich verlangen, dass die Download- und Druckfunktion ebenfalls behoben wird?

@godza @teckwrek Es ist im Moment ein bekanntes Problem. @nornagon wollte zuerst einen funktionierenden PDF-Viewer veröffentlichen und den Rest danach zusammenbinden. Nochmals vielen Dank

Siehe Folgeprobleme:

22179

22178

22180

@nornagon danke für das

@ Order256 Ah, ja, ich sehe das Gleiche. Öffnete https://github.com/electron/electron/issues/22286 , um das Problem zu verfolgen.

Ich bin mir nicht sicher, was ich mit dem Kopfgeld an meinem Ende anfangen soll, als ich es mit [email protected] ausprobiert habe und ich gehe davon aus, dass ich Fehler # 22286 getroffen habe

@pbmzero Haben Sie einen Link zu dem PDF, mit dem Sie Probleme haben? https://gist.github.com/248085f4c2376e9211479f2d09634050 Dies funktioniert für mich in 10.0.0-nightly.20200218.

@nornagon Ok, es hat funktioniert, wenn ich das PDF direkt geladen habe, wie Sie es in Ihrem Code-Snippet gezeigt haben.

Ich habe erwartet, dass es in iframe gemäß diesem Beispiel funktionieren würde: https://www.w3docs.com/tools/code-editor/1087

Dieses Beispiel funktioniert für mich in einem Iframe: https://gist.github.com/c097b618d2c1cfccf99c6a80fb15c550

@nornagon In der Tat funktioniert es. Ich werde weitermachen und Kopfgeld freigeben. Ich hoffe, das bleibt!

Für mich funktioniert [email protected] perfekt für sechs PDF-Ansichtsfälle, die ich habe - das ist hervorragende Arbeit, vielen Dank! Ich hoffe nur, dass ich eine Druckfunktion bekomme.

Ich habe die neueste Version 9.0.0 (Beta 3) ausprobiert und die PDF-Vorschau funktioniert jetzt für mich. Danke noch einmal!

Irgendeine Idee, wann Version 9.0.0 Beta 3 oder höher (sogar Version 10) eine offizielle Version wird?

Das stabile Datum von https://github.com/electron/electronjs.org/pull/3770 , um die Website zu aktualisieren.

@jkleinsc Danke für die Info.

Werden die Druck- und Downloadfunktionen bald behoben?

Tolle Neuigkeiten, dass der PDF-Viewer wieder funktioniert. Vielen Dank!
Es gibt bereits zwei offene Tickets zum Drucken von # 22179 und zum Herunterladen von # 22178

@nornagon Wirst du auch an diesen Tickets arbeiten? Oder können Sie den Aufwand abschätzen?

Hallo! Ich verwende Electron 9.0.5 Stable, aber wenn ich versuche, ein PDF zu öffnen, ist es ein grauer Bildschirm. Vermisse ich etwas

Hallo,
Meiner Meinung nach war dieses schlechte Verhalten auf diesen einfachen Code app.commandLine.appendSwitch('disable-site-isolation-trials');
Ich verstehe die Beziehung zwischen der PDF-Funktion und diesem Teil des Codes nicht, aber wenn ich sie entferne, funktioniert sie wie erwartet.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen