C++でPDFファイルにリンクを作成する

リンクを作成する

ドキュメントにアプリケーションへのリンクを追加することで、ドキュメントからアプリケーションにリンクすることが可能になります。これは、たとえばチュートリアルの特定のポイントで読者に特定のアクションを取らせたい場合や、機能豊富なドキュメントを作成したい場合に役立ちます。アプリケーションリンクを作成するには:

  1. Document オブジェクトを作成します。
  2. リンクを追加したい Page を取得します。
  3. PageとRectangleオブジェクトを使用してLinkAnnotationオブジェクトを作成します。
  4. リンク属性をLinkAnnotationオブジェクトを使用して設定します。
  5. また、LaunchActionオブジェクトのActionプロパティを設定します。
  6. LaunchActionオブジェクトを作成するとき、起動したいアプリケーションを指定します。
  7. ページオブジェクトのAnnotationsプロパティにリンクを追加します。
  8. 最後に、DocumentオブジェクトのSaveメソッドを使用して更新されたPDFを保存します。

次のコードスニペットは、PDFファイルにアプリケーションへのリンクを作成する方法を示しています。

using namespace System;
using namespace Aspose::Pdf;

void CreateLink() 
{
    String _dataDir("C:\\Samples\\");
    // Documentインスタンスを作成
    auto document = MakeObject<Document>(_dataDir + u"CreateApplicationLink.pdf");

    // PDFファイルのページコレクションにページを追加
    auto page = document->get_Pages()->idx_get(1);

    auto link = MakeObject<Aspose::Pdf::Annotations::LinkAnnotation>(page, MakeObject<Rectangle>(100, 200, 300, 300));
    link->set_Color(Aspose::Pdf::Color::get_Green());
    link->set_Action(MakeObject<Aspose::Pdf::Annotations::LaunchAction>(document, _dataDir + u"sample.pdf"));
    page->get_Annotations()->Add(link);

    // 更新されたドキュメントを保存
    document->Save(_dataDir + u"CreateApplicationLink.pdf");
}

PDFファイルにPDFドキュメントリンクを作成する

Aspose.PDF for C++を使用すると、外部のPDFファイルへのリンクを追加して、複数のドキュメントをリンクさせることができます。PDFドキュメントリンクを作成するには:

  1. 最初に、Documentオブジェクトを作成します。
  2. 次に、リンクを追加したい特定のPageを取得します。
  3. PageオブジェクトとRectangleオブジェクトを使用して、LinkAnnotationオブジェクトを作成します。
  4. LinkAnnotationオブジェクトを使用してリンク属性を設定します。
  5. ActionプロパティをGoToRemoteActionオブジェクトに設定します。
  6. GoToRemoteActionオブジェクトを作成する際に、起動するPDFファイルと、それが開くべきページ番号を指定します。
  7. リンクをPageオブジェクトのAnnotationsコレクションに追加します。
  8. DocumentオブジェクトのSaveメソッドを使用して更新されたPDFを保存します。

以下のコードスニペットは、PDFファイル内にPDFドキュメントリンクを作成する方法を示しています。

void CreatePDFDocumentLink() 
{

   String _dataDir("C:\\Samples\\");
   // Documentインスタンスを作成
   auto document = MakeObject<Document>(_dataDir + u"CreateDocumentLink.pdf");

   // ページをPDFファイルのページコレクションに追加
   auto page = document->get_Pages()->idx_get(1);


   auto link = MakeObject<Aspose::Pdf::Annotations::LinkAnnotation>(page, MakeObject<Rectangle>(100, 200, 300, 300));
   link->set_Color(Aspose::Pdf::Color::get_Green());

   link->set_Action(MakeObject<Aspose::Pdf::Annotations::GoToRemoteAction>(_dataDir + u"sample.pdf", 1));
   page->get_Annotations()->Add(link);

   // 更新されたドキュメントを保存
   document->Save(_dataDir + u"CreateDocumentLink_out.pdf");
}