none
Convertir documentos de office en archivos XPS RRS feed

  • Pregunta

  • Hola,

    Es posible hacer esta conversión dentro de mi aplicación?

    Estoy utilizando c# y un visor de archivos xps en silverlight.

    Es posible utilizar las librerías de Microsoft.Office.Interop para hacer esto?

    Yo tengo la idea, de poner este visor en una pagina (bueno esta parte ya funciona), pero me gustaría que los usuarios puedan cargar sus archivos docx y automaticamente se realice la conversión para mostrarlo.

    gracias, si pueden ayudarme ^^


    miércoles, 12 de septiembre de 2012 19:15

Respuestas

  • ok, entonces debo olvidarme de esta opción.

    He leido sobre automatización con openxml, ¿se prodría utilizar esto para convertir los archivos?

    o en vez de convertir los archivos a xps, al obtener el archivo como xml hay alguna manera de presentar el documento en la página?

    jueves, 13 de septiembre de 2012 19:19

Todas las respuestas

  • Hola,

    Es posible hacer esta conversión dentro de mi aplicación?

    Estoy utilizando c# y un visor de archivos xps en silverlight.

    Es posible utilizar las librerías de Microsoft.Office.Interop para hacer esto?

    Yo tengo la idea, de poner este visor en una pagina (bueno esta parte ya funciona), pero me gustaría que los usuarios puedan cargar sus archivos docx y automaticamente se realice la conversión para mostrarlo.

    gracias, si pueden ayudarme ^^
    jueves, 13 de septiembre de 2012 14:57
  • hola

    http://blogs.msdn.com/b/pranab/archive/2008/09/24/convert-office-documents-docx-pptx-pub-into-pdf-programmatically.aspx

    analzia el uso del

    ExportAsFixedFormat()

    con este podrias definir el formato xps

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 13 de septiembre de 2012 15:05
  • Hola Eduardo.

    echale un vistazo a los siguientes articulos a ver que tal:

    http://msdn.microsoft.com/en-us/library/office/bb412305(v=office.12).aspx

    http://www.codeproject.com/Articles/24220/Generate-XPS-from-Word-documents-with-VB-2008-and


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/

    jueves, 13 de septiembre de 2012 15:18
  • ok, gracias hoy voy a ir checando las opciones que me han dado
    jueves, 13 de septiembre de 2012 15:49
  • Hola, utilicé el ejemplo de la liga pero he estado obteniedo un error con los permisos:

    Error de servidor en la aplicación '/viewer'.

    No se pudo recuperar el generador de clases COM para el componente con CLSID {000209FF-0000-0000-C000-000000000046} debido al siguiente error: 80070005 Acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED)).

    Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

    Detalles de la excepción: System.UnauthorizedAccessException: No se pudo recuperar el generador de clases COM para el componente con CLSID {000209FF-0000-0000-C000-000000000046} debido al siguiente error: 80070005 Acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED)).

    ASP.NET no está autorizado para obtener acceso al recurso solicitado. Considere la posibilidad de conceder derechos de acceso al recurso para la identidad de solicitud de ASP.NET. ASP.NET tiene una identidad de proceso base (normalmente {MACHINE}\ASPNET en IIS 5 o Network Service en IIS 6 e IIS 7, y la identidad del grupo de aplicaciones configurada en IIS 7.5) que se utiliza si la aplicación no se va a suplantar. Si la aplicación se va a suplantar mediante <identity impersonate="true"/>, la identidad será el usuario anónimo (generalmente IUSR_MACHINENAME) o el usuario solicitado autenticado.

    Para conceder a ASP.NET acceso a un archivo, desde el Explorador, haga clic con el botón secundario del mouse en el archivo, elija "Propiedades" y seleccione la ficha Seguridad. Haga clic en "Agregar" para agregar el usuario o grupo adecuado. Resalte la cuenta de ASP.NET y active las casillas según el acceso deseado.

    Error de código fuente:
    Línea 15:     protected void Button1_Click(object sender, EventArgs e)
    Línea 16:     {
    Línea 17:         ApplicationClass wordApplication = new ApplicationClass();
    Línea 18:         Document wordDocument = null;
    Línea 19: 

    Archivo de origen: c:\Inetpub\wwwroot\documentos\Default.aspx.cs    Línea: 17

    Seguimiento de la pila:
    [UnauthorizedAccessException: No se pudo recuperar el generador de clases COM para el componente con CLSID {000209FF-0000-0000-C000-000000000046} debido al siguiente error: 80070005 Acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED)).]
       _Default.Button1_Click(Object sender, EventArgs e) in c:\Inetpub\wwwroot\documentos\Default.aspx.cs:17
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
    


    Información de versión: Versión de Microsoft .NET Framework:4.0.30319; Versión ASP.NET:4.0.30319.272

    jueves, 13 de septiembre de 2012 17:43
  • si sigues esto que se comenta

    Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80040154

    se solucionaria el problema con COM

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 13 de septiembre de 2012 17:55
  • ok, ^^ ya había probado eso antes de preguntar, en el dcom no encontré algún item llamado Microsoft Word Application, encontré uno que decia Documento de word y a ese le modifiqué los permisos pero aún así nada.

    También tenía una duda, si pongo esta aplicación en producción, ¿Debe estar instalado el microsoft office en el servidor?

    jueves, 13 de septiembre de 2012 18:14
  • ¿Debe estar instalado el microsoft office en el servidor?

    exacto si usas las librerias COM de office necesitas tenerlo instalado


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 13 de septiembre de 2012 18:51
  • ok, entonces debo olvidarme de esta opción.

    He leido sobre automatización con openxml, ¿se prodría utilizar esto para convertir los archivos?

    o en vez de convertir los archivos a xps, al obtener el archivo como xml hay alguna manera de presentar el documento en la página?

    jueves, 13 de septiembre de 2012 19:19