[Problem/Bug]: PDF viewer fails on inline page dictionaries in /Kids; standalone WPF reproduction

Aperta
#5,795 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Ambito
desktop

Direzione di ricerca

Start by inspecting the attached WebView2Probe WPF project and the two generated PDFs, then compare the page-tree root object's /Kids entries and the reported qpdf structural warnings. The report asks for investigation of PDF recovery behavior or a more actionable diagnostic; done means the inline-page variant renders when recovery is possible or the rejection gives a useful diagnostic.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
What happened?

The built-in PDF viewer rejects a generated 16-page PDF when the page-tree /Kids array contains inline page dictionaries for pages 7-10. A matched dummy PDF with the same page content and indirect page references renders correctly.

This reproduces in the attached standalone WebView2Probe WPF project using a fresh browser profile. The variant fails both after the control and as the first navigation in a fresh profile. Matching Microsoft Edge 156.0.4314.58 also displays the control and rejects the same variant.

Actual result: the PDF viewer shows "We can't open this file" and "Something went wrong", with 0 of 0 pages.

Native WebView2 log:
"Uncaught (in promise) Document Load Failed", source: chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/edge_pdf/index.html (0)

Initialization succeeds and NavigationCompleted reports IsSuccess = true and WebErrorStatus = Unknown. No ProcessFailed event or unhandled managed exception was observed. Successful top-level navigation is not being treated as proof of successful PDF rendering.

The paired dummy PDFs have identical decoded page content. The only intentional PDF object change is the /Kids representation in page-tree root object 2 0 R. The variant has direct dictionaries at zero-based indexes 6-9; qpdf reports exactly four corresponding structural warnings. The control has no qpdf syntax warnings. Standalone PDFium 156.0.8076.0 renders all 16 pages of both files; this is a separate build, not a claim about the internal renderer used by WebView2.

The inline /Kids entries are nonconforming PDF structure. Please investigate compatibility/recovery behavior or provide a more actionable diagnostic for rejected documents. This report does not claim that readers are required by the PDF specification to accept the structure, and is not a browser-process crash or NavigationCompleted contract failure.

The attachment contains only generated dummy PDFs, the standalone project, screenshots, selected sanitized native logs, console output, and structural validation. No original documents or browser profiles are needed.

Importance

Moderate. My app's user experience is affected, but still usable.

Runtime Channel

Stable release (WebView2 Runtime)

Runtime Version

156.0.4314.58

SDK Version

1.0.3912.50

Framework

WPF

Operating System

Windows 11

OS Version

10.0.26100 (Windows 11 Enterprise, x64)

Repro steps
  1. Open and build the supplied WebView2Probe WPF project.
  2. Run the project with the supplied generated control PDF and inline-page variant PDF.
  3. Compare the PDF viewer results for the two documents.

Expected: render the supplied document when recovery is possible, or provide an actionable diagnostic if the nonconforming page-tree structure is rejected.

Actual: the control displays page 1 of 16. The inline-page variant displays "We can't open this file" / "Something went wrong", even though top-level navigation reports success.

Dummy files: 01-control-16pages-indirect.pdf and 02-variant-16pages-direct-kids-7-10.pdf.

The issue also reproduces when the variant is the first document opened with a fresh profile. The same dummy variant fails in Microsoft Edge 156.0.4314.58, while its matched control opens.

WebView2-PDF-Repro.zip

Repros in Edge Browser

Yes, issue can be reproduced in the corresponding Edge version

Regression

Don't know

Last working version (if regression)

Unknown; no last working SDK or Runtime version has been established.

Lingua principale
PowerShell
Stelle
526
Fork
70
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di MicrosoftEdge/WebView2Feedback

Tutte le issue di MicrosoftEdge/WebView2Feedback

Issue simili

Altre issue su Desktop Dev

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.