Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-03-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
¿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?
Responder Con Cita
  #2  
Antiguo 09-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Angel.Matilla Ver Mensaje
PDF u ODT por ejemplo, sin tener que abrirlo..
En principio no puedes, salvo que tuvieras algún componente/controlador/plugin/etc. que "entendiera" el tipo de fichero que quieres abrir y supiera contar las páginas, o leerlo si está almacenado en algún sitio del documento.
Pero esto cambiaría con cada tipo de fichero, así que "en principio", no puedes hacerlo.
Responder Con Cita
  #3  
Antiguo 09-03-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
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.

Última edición por Al González fecha: 09-03-2013 a las 21:03:59.
Responder Con Cita
  #4  
Antiguo 11-03-2013
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
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?
Responder Con Cita
  #5  
Antiguo 11-03-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Angel.Matilla Ver Mensaje
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?
Sí. :)

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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cuantas coincidencias???? eduarcol Humor 2 10-09-2007 21:30:33
¿Cómo saber cuantas particiones de discos duros tiene mi pc? Angel Fernández Varios 2 31-07-2007 11:20:15
Como saber cuantas lineas tiene un archivo de texto MRSAM .NET 3 28-03-2007 02:35:00
Cuantas transacciones rochi Firebird e Interbase 7 23-12-2004 23:05:09
Cuantas conexiones de red??? Nasio Varios 1 31-05-2004 12:05:06


La franja horaria es GMT +2. Ahora son las 15:19:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi