Kan PDF-document niet laden in Chrome

Ik heb een PDF-bestand opgeslagen op mijn server. Ik heb geen toegang tot het bestand met Google Chrome (of Ubuntu Chromium) via URL “sitename/pdfName.pdf”; terwijl ik zonder problemen dezelfde PDF kan openen in Internet Explorer of FireFox.

Chrome geeft deze foutmelding: ‘Kan PDF-document niet laden’

Zoek het toevoegen van de fout in deze link Foutafbeelding.


Antwoord 1, autoriteit 100%

We hadden object:none in ons beveiligingsbeleid in web.config, waardoor Chrome weigerde het te openen, en door op f12 te drukken in Chrome en vervolgens op “console” te klikken, werd de foutmelding weergegeven.

Web.config-beveiligingsbeleid wijzigen in object: het probleem is zelf opgelost

In ons geval konden we pdf’s openen in Firefox en IE, maar niet in Chrome, dus Chrome heeft een striktere implementatie van het beveiligingsbeleid.

Het onderstaande is een voorgestelde bewerking die ik niet heb getest:

Het kan ook zijn dat Chrome een probleem heeft met de koptekst van de naam: Content-Typewaarde: charset=utf-8. Als u het verwijdert, wordt het mogelijk opgelost.

Terwijl u dit aan het testen bent, moet u ervoor zorgen dat de cache het antwoord niet verstoort door de verzoek-URL te blijven wijzigen in iets nieuws sitename/pdfName.pdf?val=1en vervolgens met de volgende test, ?val=2enzovoort…


Antwoord 2, autoriteit 100%

Toen we dit probleem tegenkwamen, was het enige verschil tussen PDF-bestanden die wel en niet werkten in de eerste regel van het PDF-document zelf.
Dit is het verschil tussen de oude PDF die de fout veroorzaakte en de vaste versie zoals te zien is in een binaire teksteditor (in dit geval vim -b):

Origineel PDF-bestand:

%PDF-1.6^M%<e2><e3><cf><d3>^M

Vast PDF-bestand:

%PDF-1.6^M
%<e2><e3><cf><d3>^M

Het probleem is dus bij de bron opgelost, het is niet nodig om de slachtoffers te belasten met het installeren van extra software of het opnieuw installeren van Chrome.

Ik weet niet of dit een probleem is met de PDF-generator of met de Chrome-plug-in.
Volgens de PDF-specificatie moet de eerste regel van een PDF-document de PDF-versie bevatten, maar het is mij niet helemaal duidelijk of de ^M een geldig regelscheidingsteken is.


Antwoord 3

Dit kan komen doordat de ingebouwde pdf-viewer van Chrome het beveiligde pdf-document van Firmex niet kan openen.

Probeer:

  1. Google Chrome openen (uiteraard)
  2. Klik in de rechterbovenhoek op Meer Untitled.png en vervolgens op Instellingen.
  3. Klik onderaan op Geavanceerde instellingen weergeven.
  4. Klik onder Privacy op Instellingen voor inhoud
  5. Vink onder PDF-documenten het vakje aan naast ‘PDF-bestanden openen in de standaardtoepassing voor PDF-viewer’.
  6. Zodra u de wijziging heeft aangebracht, zouden pdf-bestanden moeten worden geopend in Adobe Reader of Adobe Acrobat, in plaats van in Google Chrome.

Hoewel het misschien niet ideaal is, is het voor nu een goed alternatief.


Antwoord 4

Het kan ook zijn dat Chrome (op Ubuntu 19.04) een probleem heeft met de koptekst van de naam: Content-Typewaarde: charset=utf-8. In IIS kunt u het verwijderen door dit web.config-bestand te plaatsen waar uw PDF’s zich bevinden

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <remove name="Content-Type" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

Dit is wat het voor mij heeft opgelost.

Ook, zoals u dit test, zorg ervoor dat cache niet interfereert met het antwoord door de aanvraag-URL te wijzigen op iets nieuws sitename/pdfName.pdf?val=1en vervolgens met De volgende test, ?val=2en dus op …

Other episodes