infodocviewdoc 2.0.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -20
- package/fesm2022/infodocviewdoc.mjs +91 -92
- package/fesm2022/infodocviewdoc.mjs.map +1 -1
- package/lib/document-viewer/pages/pdf-viewer-page/pdf-viewer.component.d.ts +12 -7
- package/lib/document-viewer/services/file.service.d.ts +6 -8
- package/package.json +1 -1
- package/infodocviewdoc-2.0.4.tgz +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MFE Document Viewer Integration Guide
|
|
2
2
|
|
|
3
|
-
`infodocviewdoc` es una librería Angular para previsualizar documentos en microfrontends
|
|
3
|
+
`infodocviewdoc` es una librería Angular para previsualizar documentos en microfrontends.
|
|
4
4
|
|
|
5
5
|
## 1) Instalacion del paquete (ultima version)
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@ Si tu MFE ya existe (con Angular y dependencias base), **solo debes agregar esta
|
|
|
15
15
|
```json
|
|
16
16
|
{
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"infodocviewdoc": "
|
|
18
|
+
"infodocviewdoc": "3.0.0",
|
|
19
19
|
"@handsontable/angular": "^16.2.0",
|
|
20
20
|
"handsontable": "^16.2.0",
|
|
21
21
|
"jspdf": "^4.1.0",
|
|
@@ -50,7 +50,7 @@ Si creas un microfront desde cero, ademas de Angular/base, tu bloque de `depende
|
|
|
50
50
|
"rxjs": "~7.8.0",
|
|
51
51
|
"tslib": "2.3.0",
|
|
52
52
|
"zone.js": "~0.15.0",
|
|
53
|
-
"infodocviewdoc": "^
|
|
53
|
+
"infodocviewdoc": "^3.0.0",
|
|
54
54
|
"@handsontable/angular": "^16.2.0",
|
|
55
55
|
"handsontable": "^16.2.0",
|
|
56
56
|
"jspdf": "^4.1.0",
|
|
@@ -140,31 +140,43 @@ export class PdfPreviewModalComponent {}
|
|
|
140
140
|
|
|
141
141
|
```html
|
|
142
142
|
<sgdea-document-viewer
|
|
143
|
+
[fileBlob]="blob"
|
|
144
|
+
[fileBlobName]="fileName"
|
|
143
145
|
[url]="apiUrl"
|
|
144
|
-
[
|
|
145
|
-
[
|
|
146
|
-
[nameSpaceBucket]="''"
|
|
147
|
-
[token]="token">
|
|
146
|
+
[token]="token"
|
|
147
|
+
[pdfAssetsBaseUrl]="'https://mi-dominio.com/assets'">
|
|
148
148
|
</sgdea-document-viewer>
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
## 5) Inputs del componente
|
|
152
152
|
|
|
153
|
-
- `
|
|
154
|
-
- `
|
|
155
|
-
- `
|
|
156
|
-
- `
|
|
157
|
-
- `
|
|
158
|
-
- `pdfAssetsBaseUrl` (opcional): URL base donde el host publica los assets de `ngx-extended-pdf-viewer` (p. ej. `https://mi-app.com/assets`). Si no se define, se usa CDN o, si estan copiados en el build, la ruta por defecto del viewer.
|
|
153
|
+
- `fileBlob`: `File | Blob` del documento ya resuelto por el microfront (requerido).
|
|
154
|
+
- `fileBlobName` (opcional): nombre del archivo para inferir la extensión (p. ej. `documento.pdf`).
|
|
155
|
+
- `url` (requerido solo para Office->PDF): base URL del microservicio de conversión (ej: `https://host-backend`).
|
|
156
|
+
- `token` (requerido solo para Office->PDF): JWT para `Authorization: Bearer <token>`.
|
|
157
|
+
- `pdfAssetsBaseUrl` (opcional): URL base donde el host publica los assets de `ngx-extended-pdf-viewer` (p. ej. `https://mi-app.com/assets`).
|
|
159
158
|
|
|
160
|
-
|
|
159
|
+
Notas:
|
|
160
|
+
- Para PDFs/imágenes/texto/Excel el visor renderiza el `fileBlob` directamente.
|
|
161
|
+
- Para Word/PowerPoint el visor llama al microservicio de conversión y requiere `url` y `token`.
|
|
161
162
|
|
|
162
|
-
|
|
163
|
+
## 6) Checklist de integración (microfront)
|
|
164
|
+
|
|
165
|
+
1. **Tu microfront descarga/prepara el archivo** y le pasa el contenido al componente con `[fileBlob]`.
|
|
166
|
+
2. **Opcional pero recomendado:** pasa `[fileBlobName]` para que el visor detecte la extensión con precisión (especialmente en blobs cuyo `type` es vacío o genérico).
|
|
167
|
+
3. Si el documento es **Office (doc/docx/ppt/pptx)**, el microfront debe pasar `[url]` y `[token]` para que el visor ejecute la conversión a PDF.
|
|
168
|
+
4. Verifica en red que el visor carga `viewer-*.mjs` y workers:
|
|
169
|
+
- recomendado: copiar `node_modules/ngx-extended-pdf-viewer/assets` al build vía `angular.json` (ver sección 3).
|
|
170
|
+
- alternativa: usar fallback CDN o definir `[pdfAssetsBaseUrl]`.
|
|
171
|
+
|
|
172
|
+
## 7) Consideraciones de integracion en MFE
|
|
173
|
+
|
|
174
|
+
- El componente requiere `[fileBlob]` para renderizar.
|
|
163
175
|
- En modales, usa contenedor con `height` definido y `overflow` para Excel grandes.
|
|
164
176
|
- Para obtener token en host, puedes usar `localStorage` o tu servicio de autenticacion central.
|
|
165
|
-
- Mantener contrato estable:
|
|
177
|
+
- Mantener contrato estable: forma de datos enviados al visor via inputs (`[fileBlob]`, `[fileBlobName]`, y `[url]`/`[token]` solo para Office->PDF).
|
|
166
178
|
|
|
167
|
-
##
|
|
179
|
+
## 8) Formatos soportados por el visor
|
|
168
180
|
|
|
169
181
|
- Procesamiento de texto: `.docx`, `.doc`
|
|
170
182
|
- Hojas de calculo: `.xlsx`, `.xls`
|
|
@@ -173,7 +185,7 @@ export class PdfPreviewModalComponent {}
|
|
|
173
185
|
- Texto plano: `.txt`
|
|
174
186
|
- Imagenes: `.jpg`, `.png`, `.tiff`, `.gif`
|
|
175
187
|
|
|
176
|
-
##
|
|
188
|
+
## 9) Ejemplo rapido de instalacion local (desarrollo)
|
|
177
189
|
|
|
178
190
|
Desde el repositorio de la libreria:
|
|
179
191
|
|
|
@@ -189,7 +201,7 @@ En el MFE host:
|
|
|
189
201
|
npm install "C:/ruta/a/infodocviewdoc-<version>.tgz"
|
|
190
202
|
```
|
|
191
203
|
|
|
192
|
-
##
|
|
204
|
+
## 10) Public API exportada
|
|
193
205
|
|
|
194
206
|
`public-api.ts` exporta:
|
|
195
207
|
|
|
@@ -200,4 +212,4 @@ npm install "C:/ruta/a/infodocviewdoc-<version>.tgz"
|
|
|
200
212
|
Si integras este paquete en otro microfront, valida primero:
|
|
201
213
|
1. dependencias del host,
|
|
202
214
|
2. assets de `ngx-extended-pdf-viewer` en `angular.json` del target de build (recomendado) o, si no, que el entorno permita el fallback CDN / `pdfAssetsBaseUrl`,
|
|
203
|
-
3. envio correcto de `
|
|
215
|
+
3. envio correcto de `fileBlob`/`fileBlobName`; y `url`/`token` **solo** si el archivo es Office (para conversión).
|