Apoyo licencia

Tengo un sistema SaaS donde quiero solo exportar de Word a PDF, ya lo hace pero me sale la marca de agua de “Aspose”, adquiri una licencia pero al momento de implementar me sale un error “Se produjo una excepción de tipo ‘System.InvalidOperationException’ en Aspose.Words.dll pero no se controló en el código del usuario”.
Estoy trabajando en .Net Framework 4.0 con la librería aspose.words 25.11.0

Me podrán apoyar.

Si la licencia que adquirí funciona o tengo que adquirir otra?

Aspose.Words Document Converter for .NET - Metered OEM - SKU ANDNWODCCVMO

ESPERANDO ME PUEDAN APOYAR

@Daniel2025

Necesito un par de detalles para dar una respuesta precisa:

  1. ¿Qué producto/SDK y versión está usando? (suposición actual: Aspose, .NET, 25.11.0)
  2. Tipos de archivo y objetivo: origen = docx → destino = pdf
  3. Fragmento de código mínimo más el error/traza completa (si la hay).
  4. Lenguaje/plataforma: .NET
  5. Confirme que esta es la pregunta principal: “Apoyo licencia. Tengo un sistema SaaS donde quiero solo exportar de Word a PDF, ya lo hace pero me sale la marca de agua de ‘Aspose’, adquirí una licencia pero …”
  6. Contexto: problema detectado como de configuración. Añada cualquier restricción que debamos respetar.

@Daniel2025 Hay un pequeño error en las funciones que cubre su licencia. Solo tiene la función de Convertidor. Sin embargo, para cumplir con sus requisitos, debe usar el siguiente código:

Document doc = new Document(@"C:\Temp\in.docx");
doc.Save(@"C:\Temp\out.pdf");

Este código incluye 3 funciones: cargar documentos de MS Word, guardar documentos PDF y convertir. Por lo tanto, debería tener 3 licencias de funciones. Su código debería verse así:

Aspose.Words.Metered metered = new Aspose.Words.Metered();
metered.SetMeteredKey("<public-key-load-save-docx>", "<private-key-load-save-docx>"); // Apply feature license for loading and saving document (Word Processor)
metered.SetMeteredKey("<public-key-save-pdf>", "<private-key-save-pdf>"); // Apply feature license for  saving PDF document (PDF Processor)
metered.SetMeteredKey("<public-key-converter>", "<private-key-converter"); // Apply feature license for converter

Document doc = new Document(@"C:\Temp\in.docx");
doc.Save(@"C:\Temp\out.pdf");

También necesitará una licencia de Word Processor y una licencia de PDF Processor para que el código anterior funcione.

  1. ¿Qué producto/SDK y versión está usando?
    Aspose, .NET, 25.11.0

  2. Tipos de archivo y objetivo: origen = docx → destino = pdf
    2.1 El archivo es un documento de Word “.docx”
    2.2 El objetivo es convertir un Word a pdf, sin necesidad de modificar el documento.
    2.2.1 El usuario realiza sus anotaciones en el documento de Word de forma local desde computadora, posteriormente el usuario le manda la información a su supervisor en formato PDF, esto con el fin “de evitar editar el documento”.
    Todo esta ya se realiza sin problema, el único tema es que al exportar el documento a PDF sale con el logo de “Aspose” a pesar de haber adquirido la licencia. No se requieren alguna otra modificación solo convertir de Word a PDF.

// En el codigo no agregue la licencia completa, si es necesario, lo podemos agregar o mandarlo por algun medio. 
// sPath es una variable configurable en el webconfig donde esta el archivo origen (Word) y el archivo destino (PDF) 
//sPath = "C:\Archivos\"

Metered license = new Metered();
license.SetMeteredKey("<PublicKey>asposenet744......</PublicKey>", "<PrivateKey>Lxsjmer.....__</PrivateKey>");

string Word = sPath + "ACTIVIDADESGENERALES.docx";
Document doc = new Document(Word);
string nombrePdf = string.Format("ACTIVIDADESGENERALES_{0}.pdf", DateTime.Now.ToString("Hmmss"));
string rutaPdf = sPath + nombrePdf;
doc.Save(rutaPdf);

Error Aspose

  1. Lenguaje c# - .Net framework 4.0,

  2. Si

  3. No hay ninguna restricción.

De antemano agradezco el tiempo y su grande apoyo.

@Daniel2025

Posibles causas y solución rápida

  1. Licencia no aplicada al ensamblado Aspose.Words

    • En .NET la licencia de Words se establece con Aspose.Words.License, no con la clase genérica Metered de otro producto.
    • Si la clave pertenece a otro producto (por ejemplo Aspose.Total), Words seguirá en modo trial y mostrará la marca de agua.
  2. Orden de ejecución

    • La llamada a la licencia debe ejecutarse antes de crear cualquier objeto Document. Si el documento se crea primero, la licencia no surtirá efecto.
  3. Conectividad

    • La licencia metered necesita acceso a Internet la primera vez que se valida la clave. Si el servidor está aislado, la validación falla y Words vuelve al modo trial.

Pasos recomendados

using Aspose.Words;          // <-- Asegúrese de usar este espacio de nombres

// 1. Coloque este código al iniciar la aplicación (Global.asax, Startup, etc.)
public void ApplyAsposeLicense()
{
    try
    {
        // 2. Clase específica de Words
        var license = new License();

        // 3. Reemplace con sus claves *de Words* (pública y privada)
        license.SetMeteredKey("<PublicKey>", "<PrivateKey>");
    }
    catch (Exception ex)
    {
        // 4. Registre el error y verifique la conectividad
        // Log.Error("Aspose.Words license error: " + ex.Message);
        throw;
    }
}
// 5. Después de aplicar la licencia, convierta el documento
string wordPath = Path.Combine(sPath, "ACTIVIDADESGENERALES.docx");
Document doc = new Document(wordPath);   // la licencia ya está activa
string pdfPath = Path.Combine(sPath,
    $"ACTIVIDADESGENERALES_{DateTime.Now:HHmmss}.pdf");
doc.Save(pdfPath);

Qué comprobar si el problema persiste

Verificación Acción
Clave correcta Asegúrese de que las claves provengan del SKU Aspose.Words Metered OEM (no de otro producto).
Internet disponible Intente abrir https://api.aspose.cloud desde el servidor; si está bloqueada, la licencia no se valida.
Versión .NET Aspose.Words 25.11.0 requiere al menos .NET 4.5. En .NET 4.0 actualice el framework o use una versión anterior de la biblioteca.
Excepción al aplicar la licencia Capture la excepción de SetMeteredKey y envíela al soporte de Aspose.

Resumen

  • Utilice Aspose.Words.License y aplique la licencia antes de crear cualquier Document.
  • Verifique que las claves correspondan al producto Words y que el servidor tenga acceso a Internet para la validación.
  • Si la marca de agua persiste, envíe la excepción capturada y los datos de la licencia al soporte de Aspose para una revisión más profunda.

Les agradezco infinitamente de su apoyo.

Esta validando la posible solución e identifique lo siguiente.

Con el namespace Aspose.Words solo tiene 2 métodos en la Version=25.11.0.

  • public void SetLicense(string licenseName);
  • public void SetLicense(Stream stream);

Por lo que agregarlo en la forma mencionada me indica que el objeto de clase “License()” que no contiene la definición “SetMeteredKey”

De antemano agradezco su grande apoyo.

@Daniel2025 En su código, establece una clave medida con un código como este:

license.SetMeteredKey("<PublicKey>asposenet744......</PublicKey>", "<PrivateKey>Lxsjmer.....__</PrivateKey>");

Elimine <PublicKey>, </PublicKey>, <PrivateKey> y </PrivateKey>. Los valores de los pases deben contener solo claves públicas y proporcionar claves sin etiquetas XML circundantes.
El código debería verse así:

license.SetMeteredKey("asposenet744......", "Lxsjmer.....__");

Además, por favor revisa mi respuesta anterior.
https://forum.aspose.com/t/apoyo-licencia/322527/3