![]() |
¿Cuantas páginas tiene un documento?
¿Cómo podemos saber cuantas páginas tiene un documento, PDF u ODT por ejemplo, sin tener que abrirlo con el porgrama asociado? Quiero decir: Leyendo por ejemplo con un fread el fichero ¿dónde encuentro algún dato que me indique cuantas páginas tiene ese fichero?
|
Cita:
Pero esto cambiaría con cada tipo de fichero, así que "en principio", no puedes hacerlo. |
Un documento .odt, del estándar ODF, es un paquete ZIP que contiene varios archivos XML.
No lo he hecho pero parece algo sencillo. Primero debes descomprimir el documento (para ello hay muchas bibliotecas de componentes), luego abrir el archivo llamado meta.xml, localizar su elemento /office:document-meta/office:meta/meta:document-statistic y leer de él su atributo meta:page-count. Si usaras Delphi 7 te diría que para esto último te apoyaras en la clase TghXMLDoc. Pero tampoco en esto te será mayor problema usar directamente MSXML o el componente XML que prefieras (o incluso leer "en crudo" el archivo de texto meta.xml). Para documentos .odt, el dato que buscas está en el nodo XML que te comento. Aquí algo más sobre el tema. Saludos. Al González. |
Gracias por las respuestas. Estaba ayer pensado en este tema y se ma ha ocurrido que tal vez bastaría con contar los saltos de página (ASCCI 12) que haya en el fichero. ¿Voy desencaminado?
|
Cita:
Con ODT no serviría. Un camino relativamente fácil es como dije antes: descomprimir el archivo y leer lo que viene después de "meta:page-count". Y con PDF, al ser un formato binario, dudo que baste con buscar caracteres especiales. Saludos. |
La franja horaria es GMT +2. Ahora son las 07:17:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi