Altova StyleVision Server 2026

El ejemplo siguiente muestra cómo utilizar código C++ para generar un archivo RTF de salida utilizando un archivo PXF y un archivo XML de entrada. Asegúrese de que StyleVision Server está instalado y tiene licencia, y de que está disponible como objeto de servidor COM. El registro como objeto de servidor COM suele hacerse durante la instalación de StyleVision Server. Para comprobar si el registro se ha realizado correctamente, consulte Información sobre la interfaz COM. Consulte también Información sobre la interfaz .NET.

 

// StyleVisionServerAPI_Sample.cpp : Define el punto de entrada para la aplicación de consola.

//

#include <iostream>

#include "atlbase.h"

 

 

// Las siguientes declaraciones de importación requieren que se seleccione la cadena de herramientas C++ correspondiente en el archivo de configuración del proyecto.

#ifndef _WIN64

// 32-bit StyleVisionServer

#import "progid:StyleVision.Server"

#else

// 64-bit StyleVisionServer

#import "progid:StyleVision_x64.Server"

#endif

 

 

int _tmain(int argc, _TCHAR* argv[])

{

 CoInitialize( NULL );

 

 try

 {

         //Crear un objeto StyleVision Server

         StyleVisionServerLib::IServerPtr pSVS;

         CoCreateInstance( __uuidof( StyleVisionServerLib::Server ), NULL, CLSCTX_ALL, __uuidof( StyleVisionServerLib::IServer ), reinterpret_cast< void** >( &pSVS ) );

 

 

         //Establezca un directorio de trabajo, que se utilizará para los archivos de salida y los archivos intermedios

         pSVS->WorkingDirectory = ".."; // esto es relativo al directorio de trabajo de esta aplicación (la carpeta del proyecto)

 

         //La ruta predeterminada al ejecutable de StyleVision Server es la ruta de instalación (el mismo directorio que StyleVisionServer.dll).

         //En caso de que haya movido los archivos binarios en el disco, debe establecer explícitamente la ruta al archivo .exe.

         //La propiedad ServerPath debe configurarse antes que cualquier otra propiedad, ya que reinicializa el servidor y restablece todas las propiedades.

         //pSVS->ServerPath = "C:\\Archivos de programa (x86)\\Altova\\StyleVisionServer2026\\bin\\StyleVisionServer.exe";

         //pSVS->ServerPath = "C:\\Archivos de programa\\Altova\\StyleVisionServer2026\\bin\\StyleVisionServer.exe";

 

         //Prepare el nombre del XML de trabajo

         //    Puede ser una ruta absoluta/relativa si el archivo está almacenado externamente (no dentro de PXF).

         // pSVS->InputXML = "ExpReport.xml";

         //    O puede contener la ruta DENTRO del PXF.

         // pSVS->InputXML = "ExpReport.pxf|zip\\ExpReport.xml";

         //    Lo más fácil es hacer referencia al archivo como incrustado en el archivo de transformación

         pSVS->InputXML = "altova://packagedfile/ExpReport.xml";

 

         //Añada rutas de salida (absolutas o relativas a DirectorioDeTrabajo) para todos los formatos que deban generarse.

         pSVS->OutputRTF = "ExpReport.rtf";

         pSVS->OutputPDF = "ExpReport.pdfrtf";

         pSVS->OutputHTML = "ExpReport.html";

 

         // Prepare los parámetros, si su diseño utiliza parámetros.

         //pSVS->AddParameter( "testparam1", "value 1" );

 

         // Ejecute la transformación; el resultado se almacenará en C:\temp\ExpReport.rtf

         // NOTA: adapte la ruta al archivo de entrada para ejecutar el ejemplo.

         if (pSVS->Generate("ExpReport.pxf"))

             {

                 std::cout << pSVS->LastExecutionMessage << std::endl;

                   std::cout << "Ejecución finalizada correctamente" << std::endl;

             }

         else

                 std::cout << pSVS->LastExecutionMessage << std::endl;

 }

 catch (_com_error& err )

 {

         BSTR  bstrMessage;

         (err).ErrorInfo()->GetDescription( &bstrMessage );

         std::cout << "Se ha producido una excepción: " << _com_util::ConvertBSTRToString( bstrMessage ) << std::endl;

 }

 

 CoUninitialize();

 return 0;

}

 

© 2019-2025 Altova GmbH