Visor local de PDF para Visual Studio Code, construido en JavaScript con MuPDF.js.
La versión 0.0.8 convierte la extensión en un visor estricto de solo lectura. El PDF se puede abrir, consultar y recorrer, pero la extensión no ofrece ninguna operación para editarlo, guardarlo, exportarlo o sobrescribirlo.
- Renderizado local de alta calidad con MuPDF.js/WASM.
- Miniaturas y navegación por páginas.
- Zoom del 25 % al 500 %, ajuste a página y ajuste al ancho.
- Búsqueda en todo el documento con resaltado del resultado activo.
- Apertura de PDFs protegidos mediante contraseña; la contraseña solo permanece en memoria.
- JavaScript incrustado en el PDF desactivado.
- Indicador visible
Solo lecturay versiónv0.0.8. - Procesamiento completamente local: el documento no se envía a ningún servidor.
La restricción no depende únicamente de ocultar botones:
- El proveedor de VS Code implementa la API de editor personalizado de solo lectura y no registra eventos de cambio, guardado, Guardar como, copia de seguridad, deshacer ni rehacer.
- El protocolo del webview solo acepta cargar el documento y mostrar mensajes; rechaza órdenes no incluidas en esa lista.
- El motor incluido solo expone carga, autenticación, renderizado, miniaturas, límites de página y búsqueda. No contiene métodos de edición ni serialización.
También se retiraron Fabric.js, la barra de edición, los controles de texto, imagen y tabla, y la configuración del modo de guardado.
- Abre un archivo
.pdfen VS Code. - Si se abre otro visor, usa el menú contextual y elige Open with PDF Viewer (Read Only).
- Navega con las miniaturas, los botones de página o
PageUpyPageDown. - Ajusta el zoom o busca texto con el cuadro de búsqueda.
| Acción | Atajo |
|---|---|
| Buscar | Ctrl/Cmd+F |
| Página anterior | PageUp |
| Página siguiente | PageDown |
Ctrl/Cmd+S, Deshacer y Rehacer no modifican el PDF y muestran el estado de solo lectura cuando el foco está dentro del visor.
| Componente | Responsabilidad | Licencia |
|---|---|---|
| VS Code Custom Readonly Editor API | Abrir una pestaña de PDF sin ciclo de edición o guardado | Microsoft API |
| MuPDF.js 1.28 | Carga, contraseñas, renderizado, miniaturas y búsqueda | AGPL-3.0 |
El identificador interno pdfViewerEditor.editor se conserva para que una actualización desde versiones anteriores mantenga la asociación existente de archivos PDF.
Requisitos:
- Node.js 22 o posterior.
- Visual Studio Code 1.96 o posterior.
npm ci
npm run check
npm run package| Comando | Resultado |
|---|---|
npm run lint |
Valida JavaScript con ESLint |
npm run typecheck |
Comprueba el host de la extensión con TypeScript checkJs |
npm test |
Ejecuta las pruebas del visor y del contrato de solo lectura |
npm run check |
Ejecuta lint, typecheck y pruebas |
npm run package |
Genera pdf-viewer-editor-0.0.8.vsix |
El script prepare copia MuPDF a media/vendor; esa carpeta se genera y no se versiona.
- El contenido se presenta como páginas renderizadas; no se pueden rellenar formularios ni modificar anotaciones.
- La búsqueda depende del texto que el PDF contenga. Un documento compuesto únicamente por imágenes necesita OCR externo.
- Los límites máximos de renderizado configurables pueden reducir el zoom efectivo en páginas extraordinariamente grandes.
El proyecto es gratuito y de código abierto bajo GNU AGPL v3 o posterior, porque MuPDF se distribuye bajo AGPL. Para incorporar MuPDF en software cerrado, Artifex ofrece una licencia comercial.
Consulta THIRD_PARTY_NOTICES.md para la dependencia incluida.
Las incidencias y pull requests son bienvenidos. Ejecuta npm run check antes de enviar cambios y no confirmes node_modules, media/vendor ni archivos .vsix.