mcpField
S
syncfusion-uwp-pdf-viewer

syncfusion-uwp-pdf-viewer

github.com/syncfusion開発245 回インストール6 週間前に更新
リポジトリ

syncfusion-uwp-pdf-viewer について

UWPアプリでSyncfusionのSfPdfViewerControlを実装するための開発スキルです。PDFの表示や文書操作、注釈、検索、ナビゲーション、印刷に加え、安全なハイパーリンク処理を扱います。

主な機能

  1. 01PDF文書の読み込みと保存
  2. 02注釈の追加と管理
  3. 03テキストの検索と選択
  4. 04ページ、しおり、リンクの移動
  5. 05ズームと表示モードの設定
  6. 06印刷とページ画像のエクスポート

活用シーン

  1. 01UWPアプリへのPDF表示機能の追加
  2. 02PDF文書への注釈と保存
  3. 03文書内容の検索と移動
  4. 04信頼できないPDFのリンク検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/pdf-viewer-sdk-skills --skill syncfusion-uwp-pdf-viewer

インストール後、Claude Code で/syncfusion-uwp-pdf-viewerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
references/
annotations.md
bookmarks-and-hyperlinks.md
getting-started.md
localization.md
magnification.md
page-navigation.md
printing.md
text-operations.md
utilities.md
viewing-pdf.md

詳細

UWP PDF ビューアーの実装(SfPdfViewerControl)

Syncfusion の SfPdfViewerControl は、PDF ドキュメントの表示、注釈の追加、検索、印刷に対応したネイティブ UWP コントロールです。既定では Windows レンダリングエンジン(Windows.Data.Pdf)を使用し、オプションで PDFium レンダラーもサポートします。

セキュリティに関する注意 ⚠️

信頼できないソースやユーザー提供のソースから PDF を読み込む場合は、ナビゲーションを許可する前に、必ずハイパーリンクとコンテンツを検証してください。 PDF には、信頼できないウェブサイトにユーザーを誘導したり、意図しない操作を実行したりする悪意のあるハイパーリンクが含まれている場合があります。ナビゲーションを許可する前に、必ず HyperlinkPointerPressed イベントを使用してナビゲーション先を確認し、許可するハイパーリンク検証を実装してください。検証コードの例については、references/bookmarks-and-hyperlinks.md を参照してください。

このスキルを使用する場面

以下が必要な場合に、このスキルを使用してください。

  • UWP アプリケーションで PDF ドキュメントを表示および操作する
  • ストリーム、StorageFile オブジェクト、またはバイト配列から PDF を読み込む
  • 注釈(ハイライト、下線、取り消し線、インク、図形、フリーテキスト、ポップアップ、スタンプ)を追加および管理する
  • PDF ドキュメント内のテキストを検索および選択する
  • ページ、ブックマーク、ハイパーリンクを操作する(信頼できないソースでは適切な検証を行う)
  • 品質やプレビューの設定をカスタマイズして PDF ドキュメントを印刷する
  • PDF ビューアーのコマンドに接続したカスタムツールバーを作成する
  • ズーム、表示モード、スクロールバー、進行状況リングを設定する
  • ビューアーの UI をローカライズする
  • PDF ページを画像としてエクスポートする、または PDFium カスタムレンダラーを使用する

コンポーネントの概要

SfPdfViewerControl は、次の機能を備えた UWP 向けの包括的な PDF 表示・管理コントロールです。

  • ドキュメント管理: PdfLoadedDocument、Stream、または StorageFile から読み込み(CancellationToken を使用した同期および非同期の読み込みに対応)、注釈付きで保存、アンロードおよび破棄
  • 注釈: テキストマークアップ(ハイライト、下線、取り消し線)、図形(四角形、楕円、線)、Windows Ink Canvas に対応したインク、ポップアップ(付箋)、フリーテキスト、吹き出し付きフリーテキスト、カスタムスタンプ注釈
  • テキスト操作: 色のカスタマイズに対応したテキスト選択、次/前への移動が可能な同期および非同期のテキスト検索
  • ナビゲーションと UI: ページ移動コマンド、ブックマーク、ハイパーリンク処理、ズーム/表示モード、サムネイル表示、デスクトップ用とモバイル用の個別のツールバーレイアウト、スクロールバーと進行状況リングのカスタマイズ
  • ユーティリティと高度な機能: ページを画像としてエクスポート(GetPage、GetPages、ExportAsImage)、垂直/水平オフセットへのアクセス、IPdfRenderer インターフェイスによる PDFium カスタムレンダラー、ページ番号の表示

ドキュメントとナビゲーションガイド

はじめにとセットアップ

📄 参照: references/getting-started.md

  • 必要なアセンブリ、NuGet パッケージ、XAML またはコードによるコントロールの追加、ItemsSource のバインド、DocumentLoaded イベントについて説明します
  • 同期および非同期の読み込みメソッド、ページ数の取得、保存(Save/SaveAsync)、アンロード、破棄について説明します
ドキュメント操作

📄 参照: references/viewing-pdf.md

  • PdfLoadedDocument、Stream、StorageFile オブジェクトから同期および非同期で PDF を読み込む方法について説明します
  • 非同期読み込み時の CancellationToken のサポート、注釈付きの保存、ビューアーのアンロード/破棄のパターンについて説明します
ページのナビゲーションと表示

📄 参照: references/page-navigation.md

  • プログラムによるページ移動、組み込みのナビゲーションコマンド(FirstPage、LastPage、NextPage、PreviousPage)、XAML のコマンドバインドについて説明します
  • PageChanged イベント、ページ数、ページ間隔、オフセットコレクション、ページ番号表示の切り替えについて説明します
拡大率と表示モード

📄 参照: references/magnification.md

  • ZoomTo によるズーム制御、ズームイン/ズームアウトコマンド、表示モードのオプション(FitWidth、Normal、OnePage)について説明します
  • MinimumZoomPercentage、サムネイル表示の切り替え、現在のズーム値の取得について説明します
テキスト検索

📄 参照: references/text-operations.md

  • 同期および非同期のテキスト検索、検索結果の前後への移動、SearchNextCommand/SearchPreviousCommand について説明します
  • GetTextCoordinates を使って、すべてのテキスト一致箇所のページ上の位置を取得する方法を扱います
テキスト選択

📄 参照: references/text-operations.md

  • テキスト選択の有効化、選択範囲のハイライト色のカスタマイズ、TextSelectionCompleted イベントについて説明します
  • 選択したテキストをクリップボードにコピーする方法を扱います
注釈

📄 参照: references/annotations.md

  • サポートされているすべての注釈タイプを扱います。テキストマークアップ(ハイライト、下線、取り消し線)、図形(四角形、楕円、線)、Windows Ink Canvas を使用したインク、ポップアップ、フリーテキスト、引き出し線付きフリーテキスト、カスタムスタンプです
  • 注釈イベント(Added、Tapped、Selected、Removed、MovedOrResized)、注釈の削除、AnnotationCollection、元に戻す/やり直し、IsDocumentEdited プロパティについて説明します
印刷

📄 参照: references/printing.md

  • Print メソッド、PrintCommand、CancellationToken に対応した非同期印刷について説明します
  • QualityFactor、印刷プレビュー ダイアログのカスタマイズまたは無効化、PrinterSettings によるドキュメント名の設定を扱います
ブックマークとハイパーリンク

📄 参照: references/bookmarks-and-hyperlinks.md

  • GoToBookmark を使ったブックマークへの移動と、PdfLoadedDocument からのブックマークコレクションの取得方法について説明します
  • 🔒 必須 - ハイパーリンクの検証: HyperlinkPointerPressed イベントを使ってハイパーリンクを検査および検証するための必須コード例を示します。悪意のあるリダイレクトやインジェクション攻撃を防ぐため、信頼できない PDF のハイパーリンク元は、移動を許可する前に必ず検証してください。安全な実装パターンについては、リファレンスドキュメントを参照してください。
ローカライズ

📄 参照: references/localization.md

  • アプリ マニフェストでの既定の言語の設定と、UI 文字列のローカライズのための .resw リソースファイルの追加について扱います
  • サポートされているリソースファイル名と、コンテキストメニューの言語の変更方法について説明します
ジェスチャーイベントとインタラクション

📄 参照: references/utilities.md

  • カスタムのインタラクション処理のため、ハイパーリンク上のポインターイベント(HyperlinkPointerPressed、HyperlinkPointerMoved)を扱います
  • PageChanged イベントと DocumentLoaded イベントを使って、ナビゲーション後および読み込み後のワークフローを実行する方法について説明します
ユーティリティと高度な機能

📄 参照: references/utilities.md

  • PDF ページを BitmapImage オブジェクト(GetPage、GetPages)および画像ストリーム(ExportAsImage)としてエクスポートする方法を扱います
  • 垂直/水平スクロール位置へのアクセス、IPdfRenderer を使った PDFium カスタムレンダラーの使用、ShowPageNumber プロパティと VerticalScrollBarWidth プロパティについて説明します

コメント