Previsualizaciones en línea de PDFs

Tengo 3 problemas:

  1. ¿Cómo mostrar un PDF para todos, “inicie sesión o no”?

  2. ¿Puedo mostrar PDFs de URL externas?

  3. ¿Por qué si el usuario hace clic en el enlace del PDF se descarga automáticamente en lugar de abrirse en la URL?

1 me gusta

¿Alguien que esté usando este componente junto con lightboxes de iframe puede confirmar que todavía obtiene las “flechas para expandir a pantalla completa” encima de la vista previa del PDF?

Como referencia, solía funcionar en 2023…

1 me gusta

No. No está disponible.

2 Me gusta

Ratas - porque sería de gran ayuda.

3 Me gusta

Usamos este TC en nuestro sitio y nos parece muy valioso. Hoy creé y compartí un tema que incluye un PDF, y resultó en esta monstruosidad: un PDF en línea que se puede navegar completamente desde un desplegable.

1 me gusta

¿Hay alguna forma de habilitar esto en categorías seleccionadas? Estoy creando un tema que enumera un montón de archivos y es incómodo que el PDF se expanda. Me conformaría con una forma manual de evitar que se active, como insertar un carácter especial.

1 me gusta

¿Evitar que se active qué? ¿Cómo te gustaría que se muestren los PDF en las categorías seleccionadas?

1 me gusta

Quiero una forma de bloquear la visualización en línea de los PDF. Donde estén bloqueados, el PDF se vería como cualquier otro archivo adjunto de una publicación.

¿Como un enlace simple? ¿O como un Onebox? ¿O?

1 me gusta

Todo lo que tienes que hacer es insertar un espacio antes del nombre en el enlace del PDF y listo. Esto no está bien documentado (acabo de abordarlo), pero logré que se agregara al TC por la misma razón hace un tiempo.

Preferiría que se hiciera de la misma manera que los Oneboxes, es decir, un espacio en el markdown antes del enlace, pero esto funciona lo suficientemente bien.

7 Me gusta

Hola

Tengo este error con el plugin.

¿Tienes alguna idea de su origen?

https://forums.ffjdr.org/t/test-dun-pdf-en-visibilite/2691

1 me gusta

¿Sucede con todos los PDF o solo con este?

¿Has intentado añadir el dominio de tu foro a hosts internos permitidos?

2 Me gusta

sí con todos los PDF.

Lo acabo de añadir en ‘intern host’… sin mejora.

Gracias por tu consejo :slight_smile:

Por lo demás, acabo de encontrar este mensaje de error en la consola de Chrome:

initialize-for-pdf-preview.js:84 Se denegó el framing de ‘blob:https://forums.ffjdr.org/79cf20bf-65ac-460f-b0b0-73c10bf85890’ porque viola la siguiente directiva de Política de Seguridad de Contenido: “default-src ‘self’ data: https:”. Ten en cuenta que ‘frame-src’ no se estableció explícitamente, por lo que se utiliza ‘default-src’ como respaldo.

No se permite cargar el recurso local: blob:https://forums.ffjdr.org/79cf20bf-65ac-460f-b0b0-73c10bf85890

2 Me gusta

Revisa tu allowed onebox iframes, debería ser *

3 Me gusta

Acabo de instalar este componente. Estos son los pasos que seguí para instalarlo. Mi entorno es S3 (Digital Ocean Spaces) y CDN (Bunny.net).

Usar la barra de herramientas de desarrollador de Chrome (f12) ayudará enormemente a configurar esto. Haga clic en la pestaña de red para validar si los PDF están siendo bloqueados por CORS.

Configuración de Digital Ocean.

  1. Vaya a la configuración de sus Spaces y haga clic en Agregar configuraciones CORS
  2. Configuración:
Origin:   Su URL de Discourse - use https://discourse.url completo
Allowed Methods:  GET y HEAD
Agregue los siguientes encabezados:
      Access-Control-Allow-Methods 
      Access-Control-Allow-Origin
      Origin
      Range
Access Control Max Age: 0
  1. Mi pantalla se veía así:

  2. Guarde y valide a través de la pantalla principal.

Configuración de CDN (Bunny.net)

Tuve que indicarle a la CDN que entregara encabezados CORS para el tipo de archivo *.pdf

  1. Seleccione su CDN y busque la opción de Encabezados.
  2. Active “Agregar encabezados CORS”
  3. Agregue PDF a la extensión del archivo
  4. Guarde.

Después de realizar estas dos configuraciones, todo funcionó perfectamente.

Es posible que tenga un conjunto de herramientas diferente, pero esto podría ayudarlo a solucionar/resolver cualquier problema que pueda tener.

1 me gusta

Me refiero a una opción adicional de “abrir en una nueva pestaña” para los PDF en línea. ¿Supongo que @nathank nunca encontró el tiempo?

Este sigue siendo un problema apremiante para nosotros, que usamos Discourse como una intranet empresarial.

1 me gusta

Me ocupé, y como soy como mucho un hacker aficionado, me llevaría una eternidad. Y luego seguí adelante…

Podría ayudar articularlo en Feature, o incluso considerar pagarle a un desarrollador para que haga una PR al respecto.

2 Me gusta

Recibí un aviso de depreciación para este excelente componente de tema en la consola del desarrollador del navegador:

[THEME 30 ‘PDF previews’] Aviso de depreciación: Acceder a site.mobileView o site.desktopView durante la inicialización del sitio puede provocar errores e inconsistencias al cambiar el tamaño de la ventana del navegador. Por favor, mueva estas comprobaciones a un componente, transformador o devolución de llamada de API que se ejecute durante la representación de la página. [obsoleto desde Discourse 3.5.0.beta9-dev] [id de depreciación: discourse.static-viewport-initialization] [info: Designing for Different Devices (Viewport Size, Touch/Hover, etc.)]

3 Me gusta

He abordado la notificación de obsolescencia anterior en mi solicitud de pull en esta solicitud de función, que mejora el comportamiento de los enlaces PDF para que siempre se abran en una nueva pestaña; esto resuelve varias de las preocupaciones planteadas en el tema.

Básicamente, significa que en dispositivos móviles ahora hay acceso de un solo toque al contenido del PDF (antes era de varios toques / espera / etc.), así como en entornos de escritorio cuando se desea.

Es un poco arriesgado combinar una corrección y una nueva funcionalidad, pero necesitaba modificar la detección de dispositivos móviles para cambiar el comportamiento.

5 Me gusta

¿Seguirá habiendo una vista previa de PDF en línea en el escritorio?