Reemplazar Enlace en PDF usando .NET SDK
Reemplazar una anotación de enlace en un Documento PDF usando la API .NET del lado del servidor.
Get StartedCómo reemplazar Enlace a través de Cloud .NET SDK
Para reemplazar una anotación de enlace a través de Cloud .NET SDK, utilizaremos Aspose.PDF Cloud .NET SDK Este SDK en la nube le permite crear fácilmente aplicaciones basadas en la nube para crear, editar y convertir PDF en C#, ASP.NET u otros lenguajes .NET para varias plataformas en la nube. Abra NuGet gestor de paquetes, busque Aspose.PDF Cloud e instale. También puede usar el siguiente comando desde la Consola del Administrador de Paquetes.
Comando de la Consola del Administrador de Paquetes
PM> Install-Package Aspose.Pdf-Cloud
Pasos para reemplazar un Enlace a través de .NET SDK
Los desarrolladores de Aspose.PDF Cloud pueden cargar y cambiar fácilmente la anotación de enlace en PDF con solo unas pocas líneas de código.
- Cree un nuevo objeto de Configuración con su Secreto de Aplicación y Clave
- Cree un objeto para conectarse a la API de la Nube
- Cargue su archivo de documento
- Establezca la propiedad deseada usando la función PutLinkAnnotationAsync
- Verifique la respuesta y registre el resultado
- Descargue el archivo actualizado para uso local
Este código de ejemplo muestra cómo reemplazar una anotación de enlace en documentos PDF
using Aspose.Pdf.Cloud.Sdk.Model;
namespace Links
{
public class LinksReplace
{
public static async Task Modify(string documentName, string outputName, string LinkID, string LinkAction, string remoteFolder)
{
// Get your AppSid and AppSecret from https://dashboard.aspose.cloud (free registration required).
pdfApi = new PdfApi(AppSecret, AppSid);
using (var file = File.OpenRead(Path.Combine(localFolder, documentName)))
{ // Upload the local PDF to cloud storage folder name.
FilesUploadResult uploadResponse = await pdfApi.UploadFileAsync(Path.Combine(remoteFolder, documentName), documentName);
Console.WriteLine(uploadResponse.Uploaded[0]);
}
// Extract Link annotation by Id
LinkAnnotationResponse getResponse = await pdfApi.GetLinkAnnotationAsync(documentName, LinkID, folder: remoteFolder);
if (getResponse == null)
Console.WriteLine("LinksReplace(): Unexpected error in GetLink!");
else if (getResponse.Code < 200 || getResponse.Code > 299)
Console.WriteLine("LinksReplace(): Failed to receive link from the document.");
else if (getResponse.Link == null)
Console.WriteLine("LinksReplace(): link '{0}' not found in the document '{1]'.", LinkID, documentName);
else {
Console.WriteLine("LinksReplace(): link '{0}' successfully received from the document '{1}.", LinkID, documentName);
Console.WriteLine(getResponse.Link.ToString());
Link link = new Link(LinkAction);
LinkAnnotation newLink = new LinkAnnotation(
new List<Link>() { link },
ActionType: getResponse.Link.ActionType,
Action: LinkAction,
Highlighting: getResponse.Link.Highlighting,
Color: new Color(A: 0xFF, R: 0xAA, G: 0x00, B: 0x00),
Rect: getResponse.Link.Rect
);
// Replace a link annotation with LinkId in the PDF on cloud storage.
AsposeResponse response = await pdfApi.PutLinkAnnotationAsync(documentName, LinkID, newLink, folder: remoteFolder);
if (response == null)
Console.WriteLine("LinksReplace(): Unexpected error in Modify!");
else if (response.Code < 200 || response.Code > 299)
Console.WriteLine("LinksReplace(): Failed to replaced link in the document.");
else { // Downloads the updated file for local use.
Console.WriteLine("LinksReplace(): link '{0}' successfully replaced in the document '{1}.", LinkID, documentName);
Stream stream = pdfApi.DownloadFile(Path.Combine(remoteFolder, documentName));
using var fileStream = File.Create(Path.Combine(localFolder, "replace_linkk_" + outputName));
stream.Position = 0;
await stream.CopyToAsync(fileStream);
Console.WriteLine("LinksReplace(): File '{0}' successfully downloaded.", "replace_link_" + outputName);
}
}
}
}
}