Cambio automático de página
@lebonsavane Que yo sepa, actualmente no hay ninguna función para eso. Crearía un componente personalizado llamado 'Página', pondría 'removible' en falso y este componente se añadiría después de cargar el editor. Así que siempre habría al menos una página. Podrías especificar la altura de este componente personalizado...
Lee la respuesta completa abajo ↓Pregunta
Hola, ¿Cómo puedo implementar el pageBreak automático en GrapeJs? Por ejemplo, quiero un pageBreak cada 500px. ¿Cómo puedo hacer eso? Atentamente, Gracias por tu respuesta @artf
Respuestas (2)
@lebonsavane Que yo sepa, actualmente no hay ninguna función para eso.
Crearía un componente personalizado llamado 'Página', pondría 'removible' en falso y este componente se añadiría después de cargar el editor. Así que siempre habría al menos una página. Podrías especificar la altura de este componente personalizado como un parámetro de estilo.
Después, necesitarás lógica personalizada para determinar cuándo añadir una nueva página. Creo que solo hay dos formas en que un contenido puede superar el 'límite de altura'. 1. El contenido actual aumenta Por ejemplo, cuando se incrementa la longitud del contenido de un componente de texto. 2. Se ha añadido nuevo contenido Obviamente, cuando insertas un nuevo componente en una página determinada, si la altura actual + la altura del nuevo componente es mayor que la altura de una página, necesitarías una página adicional donde se añadiría el nuevo componente.
En el primer caso podrías escuchar el 'component:styleUpdate:height' en cada componente de página, y cuando la altura supere la altura permitida, tendrías que separar el texto en dos componentes y luego empujar una parte a una nueva página.
El segundo caso se cubre bastante fácilmente escuchando el evento 'component:drag:end' (https://grapesjs.com/docs/api/editor.html#available-events) y luego haciendo los ajustes necesarios (añadir el componente a una página nueva si es la última página, si no, desplazar todo, varias páginas).
Si no necesitas un 'salto de página tan duro', podrías apañarte con el estilo CSS y solo con pausas visuales después de cierta altura.
Supongo que querrás usar grapesjs como editor de PDF/documentos y usar Pages, ¿no? A menos que estés dispuesto a hacer mucho desarrollo, te sugeriría añadir nuevas páginas manualmente, aunque veo valor en un modo 'documento' para grapesjs, aunque probablemente sería un plugin más que una función central.
Espero que esto ayude.
Probablemente esto pueda ayudar con la lógica http://marcj.github.io/css-element-queries/ (conectando el ResizeSensor en el envoltorio).
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3589
El almacenamiento automático no funciona al refrescar la página
Hola, primero quiero decir que este proyecto es increíble, ¡gracias! Usé código del ejemplo de GrapeJS Demo, y añadí sus datos de guardar y...
Issue #2261
Carga un archivo HTML local en grapesjs
Hola, soy bastante nuevo en Grapejs y quiero cargar un archivo HTML local en la carpeta Assets del editor de Grapesjs, por favor dime cómo...
Issue #2830
[PREGUNTAS]: Creando sitios web responsivos
Hola, ¿Es posible crear sitios web responsivos? Por ejemplo: un texto debe ser más pequeño en dispositivos móviles y más grande en escritor...
Issue #1754
[Bug] problema de estilización con ckeditor(4)
¡Hola @artf todos! ¡Gracias de nuevo por el trabajo increíble! Intenté implementar ckeditor con grapesjs y parece funcionar bastante bien,...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.