vba - texto - power point
Programativamente extraer el contenido de diapositivas de PowerPoint en formato MS Word? (6)
Como mencionas que el título + el formulario de viñetas está bien, abre el archivo, elige guardar como y elige Esquema como tipo de guardar como.
Me gustaría extraer toda la información (texto formateado, imágenes, etc.) de las diapositivas de PowerPoint a un formato fluido y legible (estilo MS Word).
No me interesa mantener el concepto de diapositivas en absoluto; piense en tomar diapositivas de clase de un curso universitario y convertirlas por lotes en una única guía de estudio colectiva.
- No puedo encontrar una manera de hacerlo en Powerpoint (aunque, si conoces uno, comparte).
- No tengo experiencia en la creación de scripts de aplicaciones de Office. ¿Es este tipo de cosas fácil de hacer? ¿Este tipo de script ya existe en alguna parte?
Aclaración :
En una versión anterior de esta publicación, utilicé la palabra "fluir" para referirme a un formato libre de diapositivas (similar a MS Word). Sin embargo, esto no se refiere al formato real del contenido de la diapositiva. Así que mantener listas de viñetas, etc. es bueno e incluso deseable.
Creo que podría analizar el archivo de PowerPoint para formatear, texto e imágenes. Hay espacios de nombres de Visual Studio disponibles para dicha tarea. Abre el archivo, lo analiza y crea un archivo de Word a partir de ellos. Trabajo complicado, ya que tendría que considerar el tipo de elementos y su posición, tendría que usar una estructura temporal para cada diapositiva.
Eche un vistazo a este código de muestra:
http://msdn.microsoft.com/en-us/library/office/gg278331.aspx
Cómo: Obtener todo el texto en todas las diapositivas en una presentación
Básicamente, al usar c # y openXML SDK 2.0, recorre todas las diapositivas de la presentación y luego agrega cada texto de cada diapositiva a un generador de cadenas. Puede escribir el resultado en un archivo de texto si lo desea (se requiere modificación).
Recomendación: <25 oct 2012>
Para su guía de estudio, tal vez podría extraer todo el texto de cada diapositiva y volcar esos textos mediante programación (agregando esa función en el código de muestra anterior mientras itera las diapositivas) en la sección "Notas" de cada diapositiva. Con eso, puede imprimirlo en la vista de página de notas. Obtendrá toda la imagen de la diapositiva en la mitad superior de la página y los textos de la diapositiva reales en la parte inferior de la vista de la página de notas. Seguro que es mejor tratar de copiar y pegar todo el texto de la diapositiva en la sección de notas. Incluso puede imprimir 2 diapositivas por página, ya que el texto pequeño no sería un problema dentro de la imagen de la diapositiva, y los diagramas aún serían visibles más o menos.
Desafortunadamente, este método funciona para el formato de diapositiva estándar simple ... es decir, está bien si tus diapositivas solo tienen un título y un cuadro de texto central con todos los puntos ... cualquier diseño de diapositiva complejo (tal vez cuadros de texto dispersos en todas partes) salen en desorden y serán confusos. Pero al menos puedes mirar la imagen de la diapositiva anterior para darle sentido :)
El estilo de MS Word no solo es legible, sino que también se puede escribir (que no se especificó en sus requisitos). Si desea una guía de solo lectura, PDF es su elección natural (ya sea a través de Acrobat Distiller o LibreOffice). Combine presentaciones Acrobatted individuales con PDFtk, Acrobat o Foxit y estará listo sin ningún tipo de programación.
"¿Es fácil de hacer?" - Sí, tu humilde servidor hizo un par de scripts similares hace siglos (extrae metarchivos mejorados de diapositivas de Powerpoint).
"¿Este tipo de script ya existe en algún lado?" - Sí. Probablemente en cientos de lugares, pero no estoy seguro si alguno de ellos se publica en la red. En general, piense que sería mejor que aprendiera algo de scripting y macroprogramación por su cuenta, ya que una secuencia de comandos ya preparada puede no ser adecuada para sus necesidades, y para comprenderla y reescribirla, necesitará más tiempo que para codificar. y depuración desde cero.
El texto es bastante simple de extraer, pero ¿qué texto quieres? ¿El texto del título y los marcadores de posición del texto del cuerpo solamente? Archivo, Guardar como y elija guardar el esquema.
El otro texto en la diapositiva? Eso se puede extraer a un archivo de texto mediante programación, pero ¿en qué orden? Supongamos que tiene un diagrama complejo con textos destacados. Extraer el texto te va a dar un galimatías. No hay un orden obvio / significativo para el texto que no sea lo que el espectador humano proporciona al señalar que "Ah. La flecha al lado de este fragmento de texto apunta al subconjunto del fribulador, por lo que debe relacionarse con él de alguna manera". Intenta hacer eso en el código. ;-)
Podría darle al autor una forma de ordenar el texto en orden de lectura para que el código sepa en qué orden extraerlo, pero eso requeriría una buena cantidad de trabajo por parte del autor.
Si puede estar seguro de que todo el contenido está en el título + forma de viñeta, no se preocupe. De lo contrario, tendría que ser capaz de articular exactamente lo que desea extraer, en qué forma y en qué orden antes de poder llegar a ninguna parte con esto.
No veo que esto sea una tarea simple. Los profesores universitarios usan un formato de "TÍTULO: PUNTOS BULLET O IMAGEN" o "CADA PALABRA QUE QUIERO DECIR" para sus diapositivas en mi experiencia, y usted no va a obtener un texto fluido y legible del anterior importa lo que hagas Para este último, ya tienes tu texto, solo tienes que copiarlo a otro documento.
Creo que también podría simplemente abrir PowerPoint, seleccionar todo el texto y copiar y pegar en Word / Publisher / InDesign / su programa de diseño de página favorito. Tendrás el mismo efecto y la misma cantidad de edición después del hecho, excepto sin la molestia de escribir un programa que lo haga por ti.
Hacer una operación de impresión en un PDF con las opciones de N-up podría ser una buena solución para los folletos si eso es todo lo que necesita. Puede expandir la idea y condensar TODAS las cubiertas de diapositivas en una sola, imprimirla (con N diapositivas por página y el espacio para las notas al lado) y encuadernar, y listo, la guía de estudio instantánea. Lo he visto, y luego tienes opciones para tomar notas.
Más poder para ti si estás haciendo esto solo porque puedes, no dejes que te detenga. Hay muchas cosas buenas aprendiendo a ser así. Es posible que desee buscar en escribir un programa utilizando el espacio de nombres Microsoft.Office.Interop en .NET (comenzando en http://msdn.microsoft.com/en-us/library/bb772069.aspx ), o tal vez mirar en CPAN ( http://search.cpan.org/search?mode=all&query=powerpoint ) ¡y hazlo con Perl! Hay muchas formas de hacerlo, pero debes estar preparado para el desafío.