HTML JPG PDF XML DOCX
  Product Family
PDF

Замена ссылки в PDF с использованием .NET SDK

Замените аннотацию ссылки в PDF-документе с помощью серверного .NET API.

Get Started

Как заменить ссылку через Cloud .NET SDK

Чтобы заменить аннотацию ссылки через Cloud .NET SDK, мы используем Aspose.PDF Cloud .NET SDK Этот Cloud SDK позволяет легко создавать облачные приложения для создания, редактирования и конвертации PDF в C#, ASP.NET или других языках .NET для различных облачных платформ. Откройте NuGet менеджер пакетов, найдите Aspose.PDF Cloud и установите. Вы также можете использовать следующую команду из консоли диспетчера пакетов.

Команда консоли диспетчера пакетов


     
    PM> Install-Package Aspose.Pdf-Cloud
     
     

Шаги по замене ссылки через .NET SDK

Разработчики Aspose.PDF Cloud могут легко загрузить и изменить аннотацию ссылки в PDF всего за несколько строк кода.

  1. Создайте новый объект Configuration с вашим секретом и ключом приложения
  2. Создайте объект для подключения к Cloud API
  3. Загрузите файл документа
  4. Установите желаемое свойство с помощью функции PutLinkAnnotationAsync
  5. Проверьте ответ и запишите результат
  6. Загрузите обновленный файл для локального использования
 

Этот пример кода показывает замену аннотации ссылки в 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);
                    }
                }
            }
        }
    }