Una librería JavaScript moderna para visualizar documentos PDF en formato flipbook interactivo con animaciones 3D
npm install gmacc-flip-bookbash
npm install gmacc-flip-book
`
🚀 Uso Rápido
$3
`typescript
import { Flipbook } from "gmacc-flip-book";
import "gmacc-flip-book/styles";
const flipbook = new Flipbook("book-container", "/mi-documento.pdf", {
onPageChange: (current, total) => {
console.log(Página actual: ${current}/${total});
},
});
`
$3
`html
Demo Flipbook
`
📚 API
$3
`typescript
new Flipbook(containerId: string, pdfUrl: string, options?: FlipbookOptions)
`
#### Opciones de Configuración (FlipbookOptions)
| Propiedad | Tipo | Default | Descripción |
| :----------------- | :--------- | :------ | :--------------------------------------------------------------------------- |
| width | number | 600 | Ancho base para el renderizado interno. |
| height | number | 800 | Alto base para el renderizado interno. |
| onPageChange | function | - | Callback ejecutado al cambiar de página. Recibe (currentPage, totalPages). |
| enableDownload | boolean | true | Muestra/Oculta el botón de descarga en la navbar. |
| downloadFileName | string | - | Nombre personalizado para el archivo descargado. |
$3
| Método | Descripción |
| :------------------------ | :--------------------------------------------------- |
| loadNewPDF(url: string) | Reemplaza el PDF actual por uno nuevo dinámicamente. |
| nextPage() | Avanza a la siguiente página. |
| prevPage() | Retrocede a la página anterior. |
| goToFirstPage() | Salta directamente a la primera página. |
| goToLastPage() | Salta directamente a la última página. |
| download() | Dispara la descarga del PDF actual. |
🖱️ Interacciones
- Click en los bordes: Voltear páginas hacia adelante o atrás.
- Rueda del mouse: Control de zoom fino.
- Botones +/-: Zoom en pasos definidos.
- Arrastrar (Drag): Desplazar el libro cuando se tiene zoom aplicado.
- Auto-Ajuste: Al redimensionar la ventana, el libro recalcula su tamaño óptimo para no cortarse.
🛠️ Desarrollo Local
Si deseas contribuir o modificar la librería:
1. Clone el repo: git clone https://github.com/GermanMacchia/flip-book.git
2. Instale dependencias: npm install
3. Inicie el servidor de desarrollo: npm run dev
4. Construya la librería: npm run build:lib
📝 Licencia
Distribuido bajo la licencia MIT. Ver LICENSE` para más información.