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

Abierto
#5,795 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Área
desktop

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
PowerShell
Estrellas
526
Forks
70
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MicrosoftEdge/WebView2Feedback

Todos los issues de MicrosoftEdge/WebView2Feedback

Issues similares

Más issues de Desktop Dev

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.