Estoy utilizando una secuencia de comandos de MATLAB para ajustar el sistema de control de una máquina. Cuando el ajuste es completa, me gustaria un informe que contiene el texto (especialmente el número de serie, fecha/hora y los valores determinados durante el ajuste) y parcelas, especialmente las funciones de transferencia.

Lo que hacer para que usted recomienda?

Cualquiera que sea la solución que yo uso debe ser compatible con el compilador de MATLAB, así que puedo distribuir mi solución para un equipo de ingenieros de campo.

Lo ideal sería que el informe será un documento PDF.

MATLAB generador de informes no parece ser el producto adecuado, ya que parece que tengo que romper mi script en pequeños trozos y de integrar en la plantilla de informe. Mi script contiene oportunidades para el usuario para intervenir y cambiar los valores o rechazar la melodía si parcelas no mira a la derecha y mi corazonada es que esto va a ser difícil si el código se ejecuta desde el generador de informes. También, me temo que la estructura del código y la mantenibilidad se perderán si el código de la estructura se determina por los requisitos de la plantilla de informe.

Por favor comente si mis suposiciones son erróneas.

ACTUALIZACIÓN

Ahora he cambiado para utilizar el MATLAB Generador de Informes con el lanzamiento r2016b y está funcionando muy bien para mi el código compilado de los usuarios. Desafortunadamente esto significa que los colegas que tienen una licencia de MATLAB se necesita comprar el Generador de Informes para utilizar mis herramientas de secuencias de comandos.

OriginalEl autor Nigel Davies | 2012-11-22

4 Comentarios

  1. 4

    Como el MATLAB Generador de Informes del gerente de desarrollo, me preocupa que esta pregunta puede dejar la impresión equivocada sobre el Informe del Generador de funciones.

    Para una cosa, el Generador no requiere que usted para romper una secuencia de comandos en pequeñas piezas y ejecutar dentro de una plantilla. Usted puede hacer esto si usted elige y, en algunas circunstancias, tiene sentido, pero no es un requisito. De hecho, muchos Generador de Informes de las aplicaciones de utilizar una secuencia de comandos de MATLAB o programa para interactuar con el usuario, generar datos en el espacio de trabajo de MATLAB, y como paso final, generar un informe a partir de los datos del área de trabajo.

    Por otra parte, como de la R2014b versión, la de MATLAB Informe Generador viene con una generación de documentos de la API, llamada el DOM API, que permite incrustar la generación de documentos de las declaraciones en un programa de MATLAB. Por ejemplo, puede crear mediante programación un objeto de documento, añadir y dar formato a texto, párrafos, tablas, imágenes, listas, y subdocumentos, y la salida de Microsoft Word, HTML o PDF de salida, dependiendo del tipo de salida que usted seleccione. Usted puede incluso mediante programación llenar los espacios en blanco de los formularios en los que cree, el uso de la Palabra o un editor HTML.

    La API se ejecuta en Windows, Linux, Mac y plataformas y genera Word y HTML de salida en todas las tres, sin el uso de la Palabra. En Windows, se utiliza la Palabra bajo el capó para producir la salida en PDF de los documentos de Word que genera.

    La última versión de MATLAB Generador de Informes que presenta un PowerPoint de la API con capacidades similares a la API del DOM. Si necesita incluir la generación de informes en su programa MATLAB, por favor, no se descarta el MATLAB Generador de Informes basados en impresiones pasadas. Usted puede ser sorprendido en lo poderoso que se ha convertido.

    Ahora he cambiado a la del Generador de Informes y funciona bien.

    OriginalEl autor Paul Kinnucan

  2. 3

    Que yo lo he hecho bastante. Es verdad que el MATLAB Generador de Informes no suele ser una gran solución. @Max sugiere el enfoque correcto (de automatización de Word a través de su interfaz COM), pero me gustaría añadir un par de comentarios y consejos, basados en mi experiencia.

    1. Recuerde que si usted va con esta solución, que están en función de que los usuarios finales se ejecuta Windows, y tener una copia de Office en su equipo. Si usted desea en última instancia, producir un informe en formato PDF, que deberá ser de Office 2010 o superior.
    2. Yo apuesto a que usted encontrará que es más fácil de automatizar la generación de informes en Excel, en lugar de la Palabra. Dado que estás produciendo un informe de MATLAB, es probable que falte un buen montón de cosas en las tablas de los números, que son más fáciles de poner en Excel.
    3. Si se va a hacer en Word, la forma más fácil es a la primera (sin MATLAB) crear una plantilla .doc/.docx de archivo, que contiene alguna de texto genérico que será el mismo para todos los informes y tablas en blanco para cualquier información. Activar el control de cambios y de inserción vacía comentarios en cada punto que se va a llenar en la información. A continuación, dentro de su informe de creación de rutina en MATLAB, se conectan a la Palabra y recorrer cada uno de los comentarios, reemplazando con los datos que usted desea.
    4. Si usted está aprendiendo a automatizar Excel desde MATLAB, esta página desde el Excel de Interoperabilidad de la documentación es realmente útil. No hay un equivalente para la Palabra.
    5. A diferencia de @Max, nunca he tenido buenos resultados por el ahorro de las cifras de a una .archivo emf y, a continuación, la inserción de los mismos. En la teoría de que no conserva la capacidad de edición, pero nunca he encontrado que valioso. En su lugar, obtener la figura mirando a la derecha (y el tamaño correcto) en MATLAB, a continuación, copiarlo en el portapapeles con print(figHandle, 'dbitmap') y pegar en Excel con Worksheet.Range('A1').PasteSpecial.
    6. A guardar como un archivo PDF, utilice Workbook.ExportAsFixedFormat('xlTypePDF', pathToOutputFile).

    Espero que ayude!

    el comportamiento real de la hora de insertar una figura de un .archivo emf varía con la versión de Matlab y/o Palabra que se usa. He utilizado para obtener mejores resultados un par de años que voy a hacer ahora. Sin embargo, que aún funciona, así que si no está roto…

    OriginalEl autor Sam Roberts

  3. 2

    Creo que tienes razón sobre el generador de informes.

    En mi opinión, la más rápida y más fácil sería para generar el informe en un documento html. Para que usted sólo necesita las figuras y escribir un archivo de texto, la conversión debe ser trivial.

    Bastante similar enfoque sería crear un archivo Latex. Y, a continuación, crear un pdf a partir de ello – aunque para ello tendrás que instalar latex en su desplegado máquinas.

    Por último se podría utilizar la buena integración de Java en Matlab. Hay varias librerías que se podría utilizar como este. Pero me pregunto si todos los complicación valdrá la pena.

    OriginalEl autor bdecaf

  4. 1

    Han considerado que la conducción de Microsoft Word a través de su interfaz de ActiveX? He hecho esto en el compilado de Matlab programas y funciona bien. Buscar en la ayuda de Matlab para actxserver(): El objeto que desea crear es de tipo Word.Application.

    Editar para agregar: Para obtener figuras en el documento, guardar como .archivos emf utilizando el -dmeta argumento para print(), a continuación, agregarlos al documento como este:

     WordServer.Selection.InlineShapes.AddPicture(fileName);
    Gracias por el ejemplo. ¿Cómo descubrir todos los servicios que word ofrece? Google no está ayudando.
    Hay una buena cantidad de información en el sitio web de Microsoft, pero es difícil de encontrar. Trate de buscar ‘la Automatización de Word’ o ‘VBA de Word’. Una vez que usted consigue un objeto de Word puede llamar methods() en él en Matlab para ver lo que se expone, pero que no lo es todo.
    La ayuda disponible en las últimas versiones de Word ya no los documentos de estas cosas, por desgracia. Creo que la interfaz descrita en el O’Reilly libro es prácticamente sin cambios (en shop.oreilly.com/product/9781565927254.do), EXCEPTO que para Word 2010 el ActiveDocumentSaveAs() método ha sido reemplazado por ActiveDocumentSaveAs2(). También puede intentar la grabación de una Macro (que la instalación está disponible, inexplicablemente, desde el punto de Vista ficha de la cinta!) y mirar el VBA generado.

    OriginalEl autor Max

Dejar respuesta

Please enter your comment!
Please enter your name here