DsPdfViewer クラス

DsPdfViewer コンポーネントは、すべての主要なブラウザで動作する、高速な JavaScript ベースのクライアント側 PDF ビューワです。

サンプル

var viewer = new DsPdfViewer("#root");
viewer.addDefaultPanels();

階層

アクセサー

メソッド

findControl executeTask showPanel updatePanel getPanelState layoutPanels bringPanelToFront setActiveTopPanel setActiveBottomPanel resetDocument load search highlight resolvePageIndex getSignatureInfo pdfStringToDate showFormFiller showSignTool getEvent triggerEvent addViewAreaStyle removeViewAreaStyle showPdfOrganizer invalidate showSecondToolbar hideSecondToolbar setPageTabs getPageTabs setPageRotation getPageRotation dispose confirm close open openLocalFile newDocument newPage deletePage print download save saveAsImages saveChanges submitForm resetForm validateForm getDocumentSecurity getDocumentInformation goToPageNumber goToPage goToFirstPage goToPrevPage goToNextPage goToLastPage scrollPageIntoView loadAndScrollPageIntoView setTheme execCutAction execCopyAction execDeleteAction execPasteAction loadDocumentList openPanel closePanel addDefaultPanels addDocumentListPanel addSharedDocumentsPanel addThumbnailsPanel addSearchPanel addAnnotationEditorPanel addArticlesPanel addAttachmentsPanel addOutlinePanel addLayersPanel addFormEditorPanel addReplyTool cloneAnnotation getSelectedText addStickyNote changeOriginToBottom changeOriginToTop changeOrigin changeBoundsOrigin getViewPort getPageSize setPageSize addAnnotation lockAnnotation unlockAnnotation addStamp loadSharedDocuments openSharedDocument openSharedDocumentByName openSharedDocumentByIndex getSharedDocuments updateAnnotation updateAnnotations updateGroupFieldValue removeAnnotation findAnnotations selectAnnotation unselectAnnotation scrollAnnotationIntoView undoChanges redoChanges repaint applyOptions applyToolbarLayout getPageLocation setAnnotationBounds showMessage goBack goForward beginUpdate endUpdate

プロパティ

コンストラクタ

アクセサー

  • get i18n(): i18n
  • ビューワの翻訳を追加するに使用できるi18nextインスタンスを取得します。i18nextフレームワークの詳細については、https://www.i18next.comを参照してください。

    サンプル

    function loadPdfViewer(selector) {
    // 翻訳を任意のソースからロードできます(例えば、en-pdf-viewer.jsonを参照します)。
    var myTranslations = {
    "toolbar": {
    "open-document": "Open MY document",
    "pan": "My Pan tool",
    }
    };
    // 翻訳を初期化します。
    GcPdfViewer.i18n.init({
    resources: { myLang: { viewer: myTranslations } },
    defaultNS: 'viewer'
    }).then(function(t) {
    // 新しい翻訳が初期化されます。
    // PDFビューワを作成します。
    var viewer = new DsPdfViewer(selector, { language: 'myLang' });
    viewer.addDefaultPanels();
    //viewer.open("sample.pdf");
    });
    }
    loadPdfViewer('#root');

    戻り値 i18n

  • get hostElement(): Element
  • メインウィンドウのホスト要素を取得します。

    戻り値 Element

  • get errorHandler(): ErrorHandler
  • レポートの表示中にエラーが発生したときに呼び出されるコールバックを取得または設定します。

    戻り値 ErrorHandler

  • get onDocumentOpen(): EventFan<DocumentOpenedEventArgs>
  • ドキュメントが変更された(新しいドキュメントが開かれた、ドリルされた、または「親に戻る」が発行されたなど)ことを示すイベント。

    戻り値 EventFan<DocumentOpenedEventArgs>

  • get onDocumentViewOpen(): EventFan<DocumentViewOpenedEventArgs>
  • ドキュメントのビューが変更された( 新しいドキュメントが開かれた、更新された、切り替えられたなど)ことを示すイベント。

    戻り値 EventFan<DocumentViewOpenedEventArgs>

  • get onDocumentProgress(): EventFan<ProgressMessage>
  • ドキュメントのロードの進行状況を示すイベント。

    戻り値 EventFan<ProgressMessage>

  • get onViewerStateChange(): EventFan<ChangedEventArgs>
  • ビューワの状態が変更されたことを示します。

    戻り値 EventFan<ChangedEventArgs>

  • get tempOnPanelChange(): EventFan<null | string>
  • パネルの変更時に発生する一時的なエクスポーズイベント。

    戻り値 EventFan<null | string>

  • get viewerState(): Model
  • 表示されているドキュメントの状態を取得します。

    戻り値 Model

  • get viewMode(): ViewMode
  • 表示モード (単一ページまたは連続) を取得または設定します。

    戻り値 ViewMode

  • get zoomTarget(): ZoomTarget
  • ズーム変換の対象要素を取得または設定します。 「page」が設定されている場合、各ページは個別に変換されます (デフォルトの動作)。 「viewport」が設定されている場合、ビューポート要素全体が変換されます。

    戻り値 ZoomTarget

  • get backgroundColor(): string
  • ビューワの背景色を取得または設定します。デフォルト値は「transparent」です。

    戻り値 string

  • get pageDecoration(): PageDecoration
  • ページ表示の装飾モードを取得または設定します。

    戻り値 PageDecoration

  • get document(): null | IDocumentView
  • 現在のドキュメントを取得します。

    戻り値 null | IDocumentView

  • get viewerPreferences(): Promise<ViewerPreferences>
  • ビューワの初期設定を取得します。

    戻り値 Promise<ViewerPreferences>

  • get isEditModeSticked(): boolean
  • アクティブな編集モードがユーザーによって固定される場合はtrueを返します。アクティブな編集ボタンのstickyBehaviorが有効になって、ボタンがチェックされることを示します。詳細については、toolbarLayout.stickyBehaviorプロパティを参照します。

    戻り値 boolean

  • get dataLoader(): GcPdfViewerDataLoader
  • PDFドキュメントのメタデータのローダー。 一部のサイドバーパネルで使用されます。

    戻り値 GcPdfViewerDataLoader

  • get eventBus(): IGCEventBus
  • (内部使用のみ)使用可能なイベント名は、outlineloaded、attachmentsloaded、namedaction、pagemode、fileattachmentannotation、pagerendered、pagecancelled、scalechange、pagesinit、pagesloaded、documentchanged、rotationchanging、updateviewarea、undostorechanged、show-custom-layout、hide-custom-layout、annotationeditstarted、unselectannotation、annotation-bounds-change、pagechange、mousemodechange、request-answer、textlayerready、viewersizechanged、articlebeadnavigate、error、open、pagelabels、documentloadです。

    サンプル

    // 例: 注釈の選択/選択解除イベントをリッスンします。
    var viewer = DsPdfViewer.findControl("#root");
    viewer.eventBus.on("annotationeditstarted", (args)=> {
    console.log("Annotation selected, annotation id: " + args.annotationId);
    });
    viewer.eventBus.on("unselectannotation", (args)=> {
    console.log("Annotation unselected, annotation id: " + args.annotationId);
    });

    Returns IGCEventBus

  • get requiredSupportApiVersion(): string
  • DsPdfViewerの現在のバージョンと互換性のある必要なSupportApiバージョンを取得します。

    戻り値 string

  • get supportApiVersion(): string
  • SupportApiの接続されたバージョンを取得します。

    戻り値 string

  • get gcPdfVersion(): string
  • SupportApiで使用されるGcPDFライブラリのバージョンを取得します。

    戻り値 string

  • get canEditDocument(): boolean
  • SupportApiを使用して開いたドキュメントを編集できるかどうかを示します。SupportApiが必要です。

    サンプル

    if(viewer.canEditDocument) {
    alert("Document editing features enabled.");
    } else {
    alert("Document editing features disabled.");
    }

    戻り値 boolean

  • get currentUserName(): string
  • 現在のユーザー名を指定します。このプロパティは、注釈エディタによって「作成者」フィールドのデフォルト値として使用されます。

    サンプル

    viewer.currentUserName = "John";

    サンプル

    alert("The current user name is " + viewer.currentUserName);

    戻り値 string

  • set currentUserName(userName: string): void
  • 現在のユーザー名を指定します。このプロパティは、注釈エディタによって「作成者」フィールドのデフォルト値として使用されます。メモ:現在のユーザー名はブラウザのローカルストレージに保存され、userNameオプションが設定されない場合、次のページのリロードで使用されます。

    サンプル

    viewer.currentUserName = "John";

    サンプル

    alert("The current user name is " + viewer.currentUserName);

    パラメータ

    • userName: string

    戻り値 void

  • get editMode(): EditMode
  • 注釈エディタまたはフォームエディタ用に選択された編集ツールを示します。SupportApiが必要です。

    サンプル

    // レイアウトモードを「注釈エディタ」に設定します。
    viewer.layoutMode = 1;
    // 編集モードを「正方形」に設定します。
    viewer.editMode = 4;

    戻り値 EditMode

  • set editMode(mode: EditMode): void
  • 注釈エディタまたはフォームエディタ用に選択された編集ツールを示します。SupportApiが必要です。

    サンプル

    // レイアウトモードを「注釈エディタ」に設定します。
    viewer.layoutMode = 1;
    // 編集モードを「正方形」に設定します。
    viewer.editMode = 4;

    パラメータ

    • mode: EditMode

    戻り値 void

  • get fileData(): null | Uint8Array
  • ファイルデータを取得します。 keepFileDataオプションがtrueに設定する場合に使用できます。

    サンプル

    var viewer = new DsPdfViewer('#root', { keepFileData: true });
    viewer.open('Test.pdf');
    viewer.onAfterOpen.register(function() {
    var pdfFileData = viewer.fileData;
    });

    戻り値 null | Uint8Array

  • get fileName(): string
  • ドキュメントを開くために使用されたファイル名を取得します。 ファイル名は次のように決定されます。

    • [ファイルを開く]ダイアログを使用してローカルファイルを開いた場合、ローカルファイル名を返します。
    • 「newDocument」メソッドを使用して新しいファイルが作成された場合、そのメソッドに渡された引数を返します。
    • options.friendlyFileNameが空でない場合、その値を返します。
    • 「open」メソッドに渡されたURLから生成された名前を返します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onAfterOpen.register(function() {
    alert("The document is opened, the fileName is " + viewer.fileName);
    });
    viewer.open('MyDocuments/Test.pdf');

    戻り値 string

  • get fileSize(): Promise<number>
  • PDF ドキュメントのファイル サイズをバイト単位で取得します。

    サンプル

    const fileSizeBytes = await viewer.fileSize;

    戻り値 Promise<number>

  • get fileUrl(): string
  • ドキュメントを開くに使用されたURLを取得します。ドキュメントがバイナリデータから開かれたときに空の文字列を返します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onAfterOpen.register(function() {
    alert("The document is opened, the fileUrl is " + viewer.fileUrl);
    });
    viewer.open('MyDocuments/Test.pdf');

    戻り値 string

  • get isInEditorMode(): boolean
  • エディタモードが現在アクティブであるかどうかを示す値を取得します。

    サンプル

    let isInEditorMode = viewer.isInEditorMode;

    サンプル

    // 編集モードの開始/終了を検出します。 
    var isEdit = false;
    viewer.onViewerStateChange.register(function () {
    if (viewer.isInEditorMode !== isEdit) {
    isEdit = viewer.isInEditorMode;
    console.log(isEdit ? "Editor Mode activated." : "Editor Mode deactivated.");
    }
    });

    戻り値 boolean

  • get activatedEditorMode(): undefined | "" | "SecondBar" | "FormEditor" | "AnnotationEdtor" | "Any"
  • アクティブ化されたエディタモード名。

    戻り値 undefined | "" | "SecondBar" | "FormEditor" | "AnnotationEdtor" | "Any"

  • get leftSidebar(): LeftSidebar
  • 左側のサイドバーのAPI。

    サンプル

    viewer.leftSidebar.hide();

    戻り値 LeftSidebar

  • get storage(): DataStorage
  • アクティブなドキュメントのデータストレージ。

    サンプル

    const fileData = viewer.storage.getItem(annotation.fileId);

    サンプル

    viewer.storage.setItem(fileId, bytes);

    サンプル

    ストレージ API を使用して、スタンプ注釈をプログラムで追加します。

    viewer.newDocument().then(function() {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'http://localhost/sample.jpg', true);
    xhr.responseType = 'arraybuffer';
    xhr.onload = function(e) {
    var arrayBuffer = this.response;
    if (arrayBuffer) {
    // プログラムでスタンプ注釈を追加します。
    viewer.storage.setItem("sample_file_id_1", new Uint8Array(arrayBuffer));
    var pageSize = viewer.getPageSize(0);
    viewer.addAnnotation(0, {annotationType: 13, fileId: "sample_file_id_1", rect: [0, pageSize.height - 144, 144, pageSize.height]});
    }
    };
    xhr.send();
    });

    戻り値 DataStorage

  • get signToolStorage(): SignToolStorage
  • 現在の署名ツールの設定と画像を保存および取得するに使用できるデータストレージを返します。ストレージデータは現在のユーザー名、@see:currentUserNameプロパティに依存します。

    戻り値 SignToolStorage

  • get hasChanges(): boolean
  • ドキュメントがユーザーによって変更されたかどうかを示します。

    サンプル

    if(viewer.hasChanges) {
    alert("The document has been changed.");
    }

    戻り値 boolean

  • get hasCopyData(): boolean
  • コピーしたバッファにデータが含まれるかどうかを示します。

    サンプル

    if(viewer.hasCopyData) {
    viewer.execPasteAction();
    }

    戻り値 boolean

  • get hasDocument(): boolean
  • ドキュメントがビューにロードされるかどうかを示します。

    サンプル

    if(!viewer.hasDocument) {
    viewer.open("sample.pdf");
    }

    戻り値 boolean

  • get hideAnnotations(): boolean
  • 注釈レイヤを非表示にするかどうかを決定します。

    サンプル

    // 注釈を非表示にします。 
    viewer.hideAnnotations = true;

    戻り値 boolean

  • set hideAnnotations(hide: boolean): void
  • 注釈レイヤを非表示にするかどうかを決定します。

    サンプル

    // 注釈を非表示にします。 
    viewer.hideAnnotations = true;

    パラメータ

    • hide: boolean

    戻り値 void

  • get layoutMode(): LayoutMode
  • レイアウトモードを取得または設定します(0 - ビューワ、1 - 注釈エディタ、または2 - フォームエディタ)。

    既定値

    0

    サンプル

    // レイアウトモードを「フォームエディタ」に設定します。 
    viewer.layoutMode = 2;

    戻り値 LayoutMode

  • set layoutMode(mode: LayoutMode): void
  • レイアウトモードを取得または設定します(0 - ビューワ、1 - 注釈エディタ、または2 - フォームエディタ)。

    既定値

    0

    サンプル

    // レイアウトモードを「フォームエディタ」に設定します。 
    viewer.layoutMode = 2;

    パラメータ

    • mode: LayoutMode

    戻り値 void

  • get logLevel(): LogLevel
  • 現在のログレベルを取得します。使用可能なログレベルは、「なし」、「重大」、「エラー」、「警告」、「情報」、「デバッグ」、「トレース」です。デフォルトの値は「なし」です。

    戻り値 LogLevel

  • set logLevel(logLvel: LogLevel): void
  • 現在のログレベルを設定します。使用可能なログレベルは、「なし」、「重大」、「エラー」、「警告」、「情報」、「デバッグ」、「トレース」です。デフォルトの値は「なし」です。

    パラメータ

    戻り値 void

  • get modificationsState(): ModificationsState
  • アクティブなドキュメントの変更状態を取得します。SupportApiが必要です。

    サンプル

    var modificationsState = viewer.modificationsState;
    console.log(modificationsState);

    戻り値 ModificationsState

  • get optionalContentConfig(): Promise<OptionalContentConfig>
  • デフォルトのオプションのコンテンツ構成。オプションのコンテンツは、動的に表示または非表示にするグラフィックのコレクションです。

    サンプル

    // optionalContentConfigプロパティを使用して、使用可能なすべてのレイヤーに関する情報を印刷します。
    const config = await viewer.optionalContentConfig;
    console.table(config.getGroups());

    サンプル

    const config = await viewer.optionalContentConfig;
    // 「13R」IDのオプションのコンテンツグループをオフにします。
    config.setVisibility("13R", false);
    // 表示されているページを再描画します。
    viewer.repaint();

    戻り値 Promise<OptionalContentConfig>

  • get structureTree(): Promise<null | StructTreeNode[]>
  • 構造ツリーのデータ。

    サンプル

    const viewer = new DsPdfViewer(selector);
    await viewer.open("sample.pdf");
    const structureTree = await viewer.structureTree;
    if(structureTree) {
    console.log(structureTree);
    }

    戻り値

    ページの構造ツリーを表す[]オブジェクトで解決されるpromise。または、ページに構造ツリーが存在しない場合はnullです。

    戻り値 Promise<null | StructTreeNode[]>

  • get options(): Partial<ViewerOptions>
  • ビューワのオプション。

    サンプル

    viewer.options.zoomByMouseWheel = { always: true };
    viewer.applyOptions();

    戻り値 Partial<ViewerOptions>

  • set options(options: Partial<ViewerOptions>): void
  • PDFビューワのオプション。

    パラメータ

    戻り値 void

  • get rotation(): number
  • 回転を度単位で指定します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    // onAfterOpenイベントハンドラーを登録します。:
    viewer.onAfterOpen.register(function() {
    // 時計回りに90度回転します。
    viewer.rotation = 90;
    });
    // ドキュメントを開きます。
    viewer.open('Test.pdf');

    戻り値 number

  • set rotation(degrees: number): void
  • 回転を度単位で指定します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    // onAfterOpenイベントハンドラーを登録します。:
    viewer.onAfterOpen.register(function() {
    // 時計回りに90度回転します。
    viewer.rotation = 90;
    });
    // ドキュメントを開きます。
    viewer.open('Test.pdf');

    パラメータ

    • degrees: number

    戻り値 void

  • get searcher(): GcPdfSearcher
  • ドキュメント検索のインスタンス。現在の開いているドキュメントにテキストを検索します。

     // SearchPanel を開かずにすべての検索結果を強調表示します。
    const searchIterator = viewer.searcher.search({ Text: "test", MatchCase: true, HighlightAll: true });
    searchIterator.next();
    searcher.applyHighlight();
    // すべての検索結果を繰り返します。
    const searcher = viewer.searcher;
    var searchResults = [];
    const searchIterator = searcher.search({ Text: textToSearch, MatchCase: true });
    var searchResult = await searchIterator.next();
    if (searchResult.value)
    searcher.highlight(searchResult.value)
    while (searchResult.value && !searchResult.done) {
    const searchResultValue = searchResult.value;
    searchResults.push(`index: ${searchResultValue.ItemIndex}, text: ${searchResultValue.DisplayText}, pageIndex: ${searchResultValue.PageIndex}`);
    searchResult = await searchIterator.next();
    }
    console.log("Search results: " + (searchResults.length ? searchResults.join("; ") : "No search results"));

    サンプル

    // ドキュメントを開き、「wildlife」というテキストを見つけて、最初の結果を強調表示します。
    async function loadPdfViewer(selector) {
    var viewer = new DsPdfViewer(selector, { restoreViewStateOnLoad: false });
    viewer.addDefaultPanels();
    var afterOpenPromise = new Promise((resolve)=>{ viewer.onAfterOpen.register(()=>{ resolve(); }); });
    await viewer.open('wetlands.pdf');
    await afterOpenPromise;
    var findOptions = { Text: 'wildlife' };
    var searchIterator = await viewer.searcher.search(findOptions);
    var searchResult = await searchIterator.next();
    viewer.searcher.cancel();
    viewer.searcher.highlight(searchResult.value);
    }
    loadPdfViewer('#root');

    サンプル

    // ドキュメントを開き、「wildlife」というテキストを見つけて、検索結果をコンソールに出力します。

    async function loadPdfViewer(selector) {
    var viewer = new DsPdfViewer(selector);
    viewer.addDefaultPanels();
    await viewer.open('wetlands.pdf');
    await (new Promise((resolve)=>{
    viewer.onAfterOpen.register(()=>{
    resolve();
    });
    }));
    var findOptions = {
    Text: 'wildlife',
    MatchCase: true,
    WholeWord: true,
    StartsWith: false,
    EndsWith: false,
    Wildcards: false,
    Proximity: false,
    SearchBackward: false,
    HighlightAll: true
    };
    var searcher = viewer.searcher;
    var searchIterator = await searcher.search(findOptions);
    var resultsCount = 0;
    var searchResult;
    do {
    searchResult = await searchIterator.next();
    if (searchResult.value) {
    // 結果メッセージまたは進行状況メッセージ (ItemIndex < 0) のいずれかです。
    if(searchResult.value.ItemIndex >= 0) {
    console.log('next search result:');
    console.log(searchResult.value);
    resultsCount++;
    } else {
    const pageCount = _doc.pageCount.totalPageCount || _doc.pageCount.renderedSoFar;
    console.log('search progress, page index is ' + searchResult.value.PageIndex);
    }
    }
    else {
    console.log("Search completed");
    break;
    }
    }
    while(!searchResult.done);
    console.log('Total results count is ' + resultsCount);
    }

    戻り値 GcPdfSearcher

  • get supportApi(): null | ISupportApi
  • SupportApiクライアントを取得します。SupportApiが必要です。

    サンプル

    var viewer = new DsPdfViewer('#root', { supportApi: 'api/pdf-viewer' } );
    //サーバーに連絡して、SupportAPIバージョンを取得します。
    viewer.serverVersion.then(function(ver) {
    alert("The SupportApi version is " + ver);
    });

    戻り値 null | ISupportApi

  • get toolbarLayout(): PdfToolbarLayout
  • さまざまなビューワモード(viewer、annotationEditor、formEditor)のツールバーのレイアウトを定義します。

    説明

    viewerのツールバー項目の完全なリストは次のとおりです。

    'open', '$navigation', '$split', 'text-selection', 'pan', 'zoom', '$fullscreen', '$split', 'text-tools', 'draw-tools', 'attachment-tools', 
    'form-tools', 'page-tools', '$split', 'rotate', 'search', 'view-mode', 'theme-change', 'download', 'print', 'save', 'save-images', 'hide-annotations', 'form-filler',
    'doc-title', 'doc-properties', 'about', 'share', 'single-page', 'continuous-view', '$history', '$mousemode', 'show-edit-tools', 'show-form-editor'

    annotationEditorのツールバー項目の完全なリストは次のとおりです。

    'edit-select', 'save', 'share', 'edit-text', 'edit-free-text', 'edit-ink', 'edit-square',
    'edit-circle', 'edit-line', 'edit-polyline', 'edit-polygon', 'edit-stamp', 'edit-file-attachment', 'edit-sound', 'edit-link', 'edit-highlight', 'edit-underline', 'edit-squiggly', 'edit-strike-out'.
    'edit-redact', 'edit-redact-apply', 'edit-erase', 'edit-undo', 'edit-redo', 'new-document', 'new-page', 'delete-page', '$split', 'pdf-organizer'

    formEditorのツールバー項目の完全なリストは次のとおりです。

    'edit-select-field', 'save', 'share',
    'edit-widget-tx-field', 'edit-widget-tx-password', 'edit-widget-tx-text-area', 'edit-widget-btn-checkbox', 'edit-widget-btn-radio',
    'edit-widget-btn-push', 'edit-widget-ch-combo', 'edit-widget-ch-list-box', 'edit-widget-tx-comb', 'edit-widget-btn-submit', 'edit-widget-btn-reset',
    'edit-erase-field', 'edit-undo', 'edit-redo', 'new-document', 'new-page', 'delete-page', '$split', 'pdf-organizer'

    サンプル

    // ツールバーのレイアウトをカスタマイズします。
    viewer.toolbarLayout.viewer.default = ["open", "save", "share"];
    viewer.toolbarLayout.annotationEditor.default = ["open", "save", "share", "$split", "new-document", "edit-ink", "edit-text"];
    viewer.toolbarLayout.formEditor.default = ["open", "save", "share", "$split", "edit-widget-tx-field", "edit-widget-tx-password"];
    viewer.applyToolbarLayout();

    サンプル

    // [開く]ボタンと[改訂]ボタンのみを表示します。
    var viewer = new DsPdfViewer('#root', { supportApi: 'api/pdf-viewer' });
    // 注釈エディタパネルを追加します。
    viewer.addAnnotationEditorPanel();
    // 注釈エディタパネルを追加します。
    viewer.toolbarLayout = { viewer: { default: ["open", 'show-edit-tools']},
    annotationEditor: { default: ["open", 'edit-redact', 'edit-redact-apply']} };
    // 「注釈エディタ」レイアウトモードを有効にします。
    viewer.layoutMode = 1;

    サンプル

    // 四角形、円、線のボタンを貼り付けます。
    viewer.toolbarLayout.stickyBehavior = ["edit-square", "edit-circle", "edit-line"];
    viewer.applyToolbarLayout();

    戻り値 PdfToolbarLayout

  • set toolbarLayout(toolbarLayout: PdfToolbarLayout): void
  • さまざまなビューワモード(viewer、annotationEditor、formEditor)のツールバーのレイアウトを定義します。

    説明

    viewerのツールバー項目の完全なリストは次のとおりです。

    'text-selection', 'pan', 'open', 'save', 'share', 'download', 'print', 'rotate', 'theme-change', 'doc-title', 'view-mode', 'single-page', 'continuous-view',
    '$navigation' '$refresh', '$history', '$mousemode', 'zoom', '$fullscreen', '$split', 'show-edit-tools', 'show-form-editor'

    annotationEditorのツールバー項目の完全なリストは次のとおりです。

    'edit-select', 'save', 'share', 'edit-text', 'edit-free-text', 'edit-ink', 'edit-square',
    'edit-circle', 'edit-line', 'edit-polyline', 'edit-polygon', 'edit-stamp', 'edit-file-attachment', 'edit-sound', 'edit-link', 'edit-highlight', 'edit-underline', 'edit-squiggly', 'edit-strike-out'.
    'edit-redact', 'edit-redact-apply', 'edit-erase', 'edit-undo', 'edit-redo', 'new-document', 'new-page', 'delete-page', '$split', 'pdf-organizer'

    formEditorのツールバー項目の完全なリストは次のとおりです。

    'edit-select-field', 'save', 'share',
    'edit-widget-tx-field', 'edit-widget-tx-password', 'edit-widget-tx-text-area', 'edit-widget-btn-checkbox', 'edit-widget-btn-radio',
    'edit-widget-btn-push', 'edit-widget-ch-combo', 'edit-widget-ch-list-box', 'edit-widget-tx-comb', 'edit-widget-btn-submit', 'edit-widget-btn-reset',
    'edit-erase-field', 'edit-undo', 'edit-redo', 'new-document', 'new-page', 'delete-page', '$split', 'pdf-organizer'

    サンプル

    // ツールバーのレイアウトをカスタマイズします。
    viewer.toolbarLayout.viewer.default = ["open", "save", "share"];
    viewer.toolbarLayout.annotationEditor.default = ["open", "save", "share", "$split", "new-document", "edit-ink", "edit-text"];
    viewer.toolbarLayout.formEditor.default = ["open", "save", "share", "$split", "edit-widget-tx-field", "edit-widget-tx-password"];
    viewer.applyToolbarLayout();

    サンプル

    // [開く]ボタンと[改訂]ボタンのみを表示します。
    var viewer = new DsPdfViewer('#root', { supportApi: 'api/pdf-viewer' });
    // 注釈エディタパネルを追加します。
    viewer.addAnnotationEditorPanel();
    // 注釈エディタパネルを追加します。
    viewer.toolbarLayout = { viewer: { default: ["open", 'show-edit-tools']},
    annotationEditor: { default: ["open", 'edit-redact', 'edit-redact-apply']} };
    // 「注釈エディタ」レイアウトモードを有効にします。
    viewer.layoutMode = 1;

    パラメータ

    • toolbarLayout: PdfToolbarLayout

    戻り値 void

  • get secondToolbarLayout(): SecondToolbarLayout
  • 2番目のツールバーのレイアウト。 secondToolbarLayoutプロパティを使用して、利用可能なツールを構成します。

    既定値

    戻り値 SecondToolbarLayout

  • set secondToolbarLayout(layout: SecondToolbarLayout): void
  • 2番目のツールバーのレイアウト。 secondToolbarLayoutプロパティを使用して、利用可能なツールを構成します。

    既定値

    パラメータ

    • layout: SecondToolbarLayout

    戻り値 void

  • get version(): string
  • PDFビューワの現在のバージョンを返します。

    サンプル

    alert("The DsPdfViewer version is " + viewer.version);

    戻り値 string

  • get hasReplyTool(): boolean
  • 返信ツールが追加されるかどうかを示します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    if(viewer.hasReplyTool) {
    alert("The Reply Tool has not been added to the viewer.");
    } else {
    alert("The Reply Tool has been added to the viewer.");
    }
    viewer.open('Test.pdf');

    戻り値 boolean

  • get rightSidebar(): GcRightSidebar
  • 右側のサイドバーオブジェクトを取得します。このオブジェクトを使用して、右側のサイドバーを操作します。

    サンプル

    viewer.rightSidebar.show('expanded', 'reply-tool');
    viewer.rightSidebar.toggle();
    viewer.rightSidebar.hide();
    viewer.rightSidebar.expand();
    viewer.rightSidebar.collapse();

    戻り値 GcRightSidebar

  • get fingerprint(): string
  • 一意のドキュメント識別子。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onAfterOpen.register(function() {
    alert("The document opened, an unique document identifier is "+ viewer.fingerprint);
    });
    viewer.open('Test.pdf');

    戻り値 string

  • get annotations(): Promise<{ pageIndex: number; annotations: AnnotationBase[] }[]>
  • ドキュメント内のすべての注釈を取得します。

    サンプル

    • var viewer = new DsPdfViewer('#root');
    • viewer.addDefaultPanels();
    • viewer.onAfterOpen.register(function() {
    • viewer.annotations.then(function(data) {
    • for(var i = 0; i < data.length; i++){
    • var pageAnnotationsData = data[i];
    • var pageIndex = pageAnnotationsData.pageIndex;
    • var annotations = pageAnnotationsData.annotations;
    • console.log("Page with index " + pageIndex + " contains " + annotations.length + " annotation(s)");
    • }
    • });
    • });
    • viewer.open('Test.pdf');

    Returns Promise<{ pageIndex: number; annotations: AnnotationBase[] }[]>

  • get beforeUnloadConfirmation(): boolean
  • ドキュメントが変更されたときにページから出るかどうかをユーザーから確認します。SupportApiが必要です。

    サンプル

    var viewer = new DsPdfViewer('#root', { supportApi: 'api/pdf-viewer' } );
    viewer.addDefaultPanels();
    viewer.addAnnotationEditorPanel();
    viewer.addFormEditorPanel();
    viewer.beforeUnloadConfirmation = true;

    戻り値 boolean

  • set beforeUnloadConfirmation(enable: boolean): void
  • ドキュメントが変更されたときにページから出るかどうかをユーザーから確認します。SupportApiが必要です。

    サンプル

    var viewer = new DsPdfViewer('#root', { supportApi: 'api/pdf-viewer' } );
    viewer.addDefaultPanels();
    viewer.addAnnotationEditorPanel();
    viewer.addFormEditorPanel();
    viewer.beforeUnloadConfirmation = true;

    パラメータ

    • enable: boolean

    戻り値 void

  • get hasForm(): boolean
  • アクティブなドキュメントにフォームフィールドがあるかどうかを示す値を取得します。

    サンプル

    if(viewer.hasForm) {
    viewer.showFormFiller();
    }

    戻り値 boolean

  • get hasPersistentConnection(): boolean
  • ビューワがサーバーに永続的な接続があるかどうかを示す値を取得します。

    • if(viewer.hasPersistentConnection) {
    • viewer.getSharedDocuments().then(function(result) {
    • });
    • }

    戻り値 boolean

  • get hasUndoChanges(): boolean
  • PDFビューワがドキュメントの変更を元に戻すことができるかどうかを示す値を取得します。SupportApiが必要です。

    サンプル

    if(viewer.hasUndoChanges) {
    viewer.undoChanges();
    }

    戻り値 boolean

  • get hasRedoChanges(): boolean
  • PDFビューワがドキュメントの変更をやり直すことができるかどうかを示す値を取得します。SupportApiが必要です。

    サンプル

    if(viewer.hasRedoChanges) {
    viewer.redoChanges();
    }

    戻り値 boolean

  • get undoState(): (0 | { changeName: UndoChangeName; selectedAnnotation: null | { pageIndex: number; annotation: AnnotationBase }; data: any })[]
  • 元に戻すストアの現在の状態。 このプロパティは読み取り専用であり、プログラムによってコレクションの要素を変更しないことに注意してください。 Undo API メソッドを使用して、ビューワのエディタの状態を変更します。 Undo API のプロパティは、hasUndoChanges、hasRedoChanges、undoIndex です。 undoCount Undo API メソッドは、undoChanges()、redoChanges() です。

    戻り値 (0 | { changeName: UndoChangeName; selectedAnnotation: null | { pageIndex: number; annotation: AnnotationBase }; data: any })[]

  • get undoIndex(): number
  • 現在の元に戻すレベル (コマンド) のインデックスを取得します。これは、redoChanges() への次の呼び出しで実行される元に戻すコマンドです。 SupportApi が必要です。

    サンプル

    alert("The current Undo level index is " + viewer.undoIndex);

    戻り値 number

  • get undoCount(): number
  • 元に戻すスタックのレベル (コマンド) の数を取得します。 SupportApi が必要です。

    サンプル

    alert("Undo levels count is " + viewer.undoCount);

    戻り値 number

  • get pageIndex(): number
  • アクティブなページのインデックスを取得または設定します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onAfterOpen.register(function() {
    // インデックス9のページに移動します。
    viewer.pageIndex = 9;
    });
    viewer.open('Test.pdf');

    戻り値 number

  • set pageIndex(val: number): void
  • アクティブなページのインデックスを取得または設定します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onAfterOpen.register(function() {
    // インデックス9のページに移動します。
    viewer.pageIndex = 9;
    });
    viewer.open('Test.pdf');

    パラメータ

    • val: number

    戻り値 void

  • get pageCount(): number
  • ページ数を取得します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onAfterOpen.register(function() {
    alert("The document opened. Total number of pages: " + viewer.pageCount);
    });
    viewer.open('Test.pdf');

    戻り値 number

  • get isDocumentShared(): boolean
  • アクティブなドキュメントが共有モードで開いているかどうかを示す値を取得します。 SupportApiが必要です。

    サンプル

    if(viewer.isDocumentShared) {
    alert("The document is open in shared mode.");
    }

    戻り値 boolean

  • get zoomValue(): number
  • 現在の拡大率のレベルを取得または設定します。

    サンプル

    // 拡大値を150%に設定します。
    viewer.zoomValue = 150;

    戻り値 number

  • set zoomValue(val: number): void
  • 現在の拡大率のレベルを取得または設定します。

    サンプル

    // 拡大値を150%に設定します。
    viewer.zoomValue = 150;

    パラメータ

    • val: number

    戻り値 void

  • get zoomMode(): ZoomMode
  • 現在の拡大縮小モードを取得または設定します。指定できる値は「0 - Value」、「1 - PageWidth」および「2 - WholePage」。

    // 拡大縮小モードを「WholePage」に設定します。
    viewer.zoomMode = 2;

    戻り値 ZoomMode

  • set zoomMode(val: ZoomMode): void
  • 現在の拡大縮小モードを取得または設定します。指定できる値は「0 - Value」、「1 - PageWidth」および「2 - WholePage」。

    サンプル

    // 拡大縮小モードを「WholePage」に設定します。
    viewer.zoomMode = 2;

    パラメータ

    • val: ZoomMode

    戻り値 void

  • get onError(): EventFan<ErrorEventArgs>
  • エラーを示すイベント。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.addDefaultPanels();
    viewer.onError.register(handleError);
    viewer.open('Test.pdf');

    function handleError(eventArgs) {
    var message = eventArgs.message;
    if (message.indexOf("Invalid PDF structure") !== -1) {
    alert('Unable to load pdf document, pdf document is broken.');
    } else {
    alert('Unexpected error: ' + message);
    }
    }

    戻り値 EventFan<ErrorEventArgs>

  • get onBeforeOpen(): EventFan<BeforeOpenEventArgs>
  • ドキュメントを開く直前に発生します。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onBeforeOpen.register(function(args) {
    alert("A new document will be opened,\n payload type(binary or URL): " + args.type +",\n payload(bytes or string): " + args.payload);
    });
    viewer.open('Test.pdf');

    戻り値 EventFan<BeforeOpenEventArgs>

  • get onAfterOpen(): EventFan<EventArgs>
  • ユーザーがビューワのテーマを変更したときに発生するイベント。

    サンプル

    var viewer = new DsPdfViewer('#root');
    viewer.onAfterOpen.register(function() {
    alert("The document opened.");
    });
    viewer.open('Test.pdf');

    戻り値 EventFan<EventArgs>

  • get onBeforeAddAnnotation(): EventFan<BeforeAddAnnotationEventArgs>
  • onBeforeAddAnnotation イベント。このイベントはキャンセルすることができます。

    サンプル

    viewer.onBeforeAddAnnotation.register(function(args) {
    console.log(args);
    args.cancel = true; // イベントをキャンセルするには、キャンセルフラグを設定します。
    });

    戻り値 EventFan<BeforeAddAnnotationEventArgs>

  • get onAfterAddAnnotation(): EventFan<AfterAddAnnotationEventArgs>
  • onAfterAddAnnotation イベント。

    サンプル

    viewer.onAfterAddAnnotation.register(function(args) {
    console.log(args);
    });

    戻り値 EventFan<AfterAddAnnotationEventArgs>

  • get onBeforeUpdateAnnotation(): EventFan<BeforeUpdateAnnotationEventArgs>
  • onBeforeUpdateAnnotation イベント。このイベントはキャンセルすることができます。

    viewer.onBeforeUpdateAnnotation.register(function(args) {
    console.log(args);
    args.cancel = true; // イベントをキャンセルするには、キャンセルフラグを設定します。
    });

    戻り値 EventFan<BeforeUpdateAnnotationEventArgs>

  • get onAfterUpdateAnnotation(): EventFan<AfterUpdateAnnotationEventArgs>
  • onAfterUpdateAnnotation イベント。

    サンプル

    viewer.onAfterUpdateAnnotation.register(function(args) {
    console.log(args);
    });

    戻り値 EventFan<AfterUpdateAnnotationEventArgs>

  • get onBeforeRemoveAnnotation(): EventFan<BeforeRemoveAnnotationEventArgs>
  • onBeforeRemoveAnnotation イベント。このイベントはキャンセルすることができます。

    viewer.onBeforeRemoveAnnotation.register(function(args) {
    console.log(args);
    args.cancel = true; // イベントをキャンセルするには、キャンセルフラグを設定します。
    });

    戻り値 EventFan<BeforeRemoveAnnotationEventArgs>

  • get onAfterRemoveAnnotation(): EventFan<AfterRemoveAnnotationEventArgs>
  • onAfterRemoveAnnotation イベント。

    サンプル

    viewer.onAfterRemoveAnnotation.register(function(args) {
    console.log(args);
    });

    戻り値 EventFan<AfterRemoveAnnotationEventArgs>

  • get onThemeChanged(): EventFan<EventArgs>
  • ビューワのテーマがユーザーによって変更されたときに発生します。

    サンプル

    var viewer = new DsPdfViewer(selector, {
    requireTheme: localStorage.getItem('demo_theme') || 'viewer'
    });
    viewer.addDefaultPanels();
    viewer.onThemeChanged.register(function(args) {
    localStorage.setItem('demo_theme', args.theme);
    });

    戻り値 EventFan<EventArgs>

  • get secondToolbar(): SecondToolbar
  • 2番目のツールバーのAPI。

    戻り値 SecondToolbar

  • get scrollView(): HTMLElement
  • スクロールビューを取得します。メモ:左スクロールの位置はビューワによって自動的に計算されます。したがって、左スクロールの位置を変更する必要はありません。

    サンプル

    // ドキュメントの先頭までスクロールします。
    viewer.scrollView.scrollTop = 0;

    戻り値 HTMLElement

  • get isUpdating(): boolean
  • @see:beginUpdateへの呼び出しによって通知が中断された場合、trueを返します。

    サンプル

    var isUpdatingFlag = viewer.isUpdating;

    戻り値 boolean

メソッド

  • ホスト要素またはホスト要素セレクターを使用してビューワインスタンスを取得します。

    サンプル

    var viewer = DsPdfViewer.findControl("#root");

    パラメータ

    • selector: string | HTMLElement

    戻り値 undefined | GcPdfViewer

  • 実行時間の長い操作を開始し、操作の実行中に進行状況ウィンドウを表示します。

    パラメータ

    • task: ((callbacks: TaskCallbacks) => Promise<void>)
        • (callbacks: TaskCallbacks): Promise<void>
        • パラメータ

          • callbacks: TaskCallbacks

          戻り値 Promise<void>

    • オプション settings: TaskSettings

    戻り値 Promise<void>

  • パネルの表示を更新します。

    パラメータ

    • panelKey: PanelHandle
    • オプション visible: boolean

    戻り値 void

  • 表示、ラベル、または「有効」ステータスなどのパネル設定を更新します。

    パラメータ

    • panelKey: PanelHandle
    • settings: Partial<PanelSettings>

    戻り値 void

  • 現在のパネル状態を取得します。

    パラメータ

    • panelKey: PanelHandle

    戻り値 null | PanelSettings

  • パネル項目を並べ替えてフィルタします。 「*」は「残りのパネル」を示します。 「sep」/「separator」はメニューの区切り文字を示します。

    パラメータ

    • layout: string[]

    戻り値 void

  • 非推奨

    代わりに expandPanel() を使用してください。

    パラメータ

    • panelKey: PanelHandle

    戻り値 void

  • パネルを表示または非表示にするには、setting.location = 'top' で activeTopPanelId を更新します (パネルを非表示にする場合は id = null)。

    パラメータ

    • id: null | string

    戻り値 void

  • パネルを表示または非表示にするには、setting.location = 'bottom' で activeBottomPanelId を更新します (パネルを非表示にする場合は id = null)。

    パラメータ

    • id: null | string

    戻り値 void

  • レポートをリセットし、現在のセッションがある場合はキャンセルします。

    戻り値 Promise<void>

  • レポートをロードします (UI なし)。そのため、呼び出し元はロード結果を処理し、エラーがあれば報告する必要があります。

    パラメータ

    • moniker: DocumentMoniker
    • オプション token: CancellationToken

    戻り値 Promise<LoadResult>

  • 現在の開いているドキュメントにテキストを検索します。

    パラメータ

    • __namedParameters: SearchOptions
    • resultFn: ((result: SearchResult) => void)
        • (result: SearchResult): void
        • パラメータ

          • result: SearchResult

          戻り値 void

    • オプション progressFn: ((progress: { pageIndex: number; pageCount: null | number }) => void)
        • (progress: { pageIndex: number; pageCount: null | number }): void
        • パラメータ

          • progress: { pageIndex: number; pageCount: null | number }
            • pageIndex: number
            • pageCount: null | number

          戻り値 void

    • オプション cancel: CancellationToken

    戻り値 Promise<SearchStatus>

  • 結果を含むページに移動し、見つかったテキストをハイライト表示します。

    パラメータ

    • result: SearchResult

    戻り値 Promise<void>

  • PDF ページ参照を使用してページインデックスを解決します。

    サンプル

    const openAction = (await viewer.viewerPreferences).openAction;
    if(openAction && openAction.dest) {
    const pageRef = openAction.dest[0];
    const targetPageIndex = await viewer.resolvePageIndex(pageRef);
    }

    パラメータ

    • pageRef: any

    戻り値 Promise<null | number>

  • ドキュメントに使用された署名に関する情報を取得します。

    サンプル

    // 例:現在のドキュメントが署名されているかどうかを確認し、署名に関する情報を表示します。
    var viewer = DsPdfViewer.findControl("#root");
    const signatureInfo = await viewer.getSignatureInfo();
    if(signatureInfo.signed) {
    const signatureValue = signatureInfo.signedByFields[0].signatureValue;
    const signerName = signatureValue.name;
    const location = signatureValue.location;
    const signDate = viewer.pdfStringToDate(signatureValue.modificationDate);
    alert("The document was signed using digital signature. Signed by: " + signerName + ", location: " + location + ", sign date: " + signDate.toString());
    } else {
    alert("The document is not signed.");
    }

    戻り値 Promise<SignatureInformation>

  • PDFの日付文字列をJavaScriptの Date オブジェクトに変換します。PDFの日付文字列形式は、公式PDF 32000-1:2008仕様のセクション7.9.4で説明されます。

    戻り値

    パラメータ

    • オプション input: string | Date

    戻り値 null | Date

  • 「フォームフィラー」ダイアログを表示します。

    サンプル

    if(viewer.hasForm) {
    viewer.showFormFiller();
    }

    戻り値 void

  • [署名の追加]ダイアログを表示します。SupportApiが必要です。

    サンプル

    viewer.showSignTool();

    パラメータ

    • オプション preferredSettings: SignToolSettings

      オプション。これらの設定は、signSettingsオプションよりも優先されます。

    戻り値 void

  • イベントオブジェクトを取得します。

    サンプル

    viewer.getEvent("BeforeAddAnnotation").register(function(args) {
    console.log(args);
    });
    viewer.getEvent("AfterAddAnnotation").register(function(args) {
    console.log(args);
    });

    パラメータ

    • eventName: EventName

    戻り値 EventFan<any>

  • Trigger イベント。

    サンプル

    // CustomEventをリッスンします。
    viewer.getEvent("CustomEvent").register(function(args) {
    console.log(args);
    });
    // CustomEventをトリガーします。
    viewer.triggerEvent("CustomEvent", { arg1: 1, arg2: 2});

    パラメータ

    • eventName: EventName
    • オプション args: EventArgs | BeforeOpenEventArgs | ThemeChangedEventArgs

    戻り値 void

  • ビュー領域に css スタイルを追加します。

    戻り値

    スタイル要素識別子。

    サンプル

    // 右から左へのテキスト方向機能を有効にします。
    viewer.addViewAreaStyle(".gc-text-content, p, h1 { direction: rtl !important }");

    パラメータ

    • cssText: string

    戻り値 string

  • ID でビュー領域から css スタイルを削除します。

    サンプル

    const id = viewer.addViewAreaStyle(".gc-text-content { font-size: 20px !important; }");
    viewer.removeViewAreaStyle(id);

    パラメータ

    • id: string

      スタイル要素識別子。

    戻り値 boolean

  • [ページの整理]ダイアログを表示します。

    サンプル

    viewer.showPdfOrganizer();

    戻り値 PdfOrganizerDialog

  • ビューワのすべての視覚的な子要素がレイアウト用に適切に更新されることを確認します。このメソッドを呼び出して、ビューワのサイズが動的に変更されたときに内部コンテンツのサイズを更新します。

    サンプル

    viewer.eventBus.on("viewersizechanged", function() {
    // ビューワの高さを内側ページ(余白を含め)のコンテンツの高さと同じにします。
    document.querySelector("#root").style.height = viewer.pageCount * 50 + viewer.pageCount * viewer.getPageSize(0, true).height + "px";
    // レイアウトを無効化します。
    viewer.invalidate();
    });

    戻り値 void

  • toolbarKey引数で指定されたキーを持つ2番目のツールバーを表示します。

    サンプル

    viewer.showSecondToolbar("draw-tools");

    パラメータ

    • toolbarKey: string

    戻り値 Promise<void>

  • 2番目のツールバーを非表示にします。

    サンプル

    viewer.hideSecondToolbar();

    戻り値 void

  • ページ上の注釈のタブの順序を設定します。ページ上の注釈に使用されるタブの順序を指定する名前。可能な値は次のとおりです。R-行の順序。 C-列の順序。S-構造の順序(PDFビューワではサポートされていません)。A-注釈の順序。この順序は、注釈コレクション内の注釈の順序を指します。W-ウィジェットの順序。この順序は「注釈」の順序と同じですが、2つのパスが作成されます。最初のパスはウィジェットの注釈のみを選択し、2番目のパスは他のすべての注釈を選択します。

    パラメータ

    • pageIndex: number
    • tabs: undefined | "R" | "S" | "C" | "A" | "W"

    戻り値 void

  • ページ上の注釈のタブの順序を設定します。ページ上の注釈に使用されるタブの順序を指定する名前。可能な値は次のとおりです。R-行の順序。 C-列の順序。S-構造の順序(PDFビューワではサポートされていません)。A-注釈の順序。この順序は、注釈コレクション内の注釈の順序を指します。W-ウィジェットの順序。この順序は「注釈」の順序と同じですが、2つのパスが作成されます。最初のパスはウィジェットの注釈のみを選択し、2番目のパスは他のすべての注釈を選択します。

    パラメータ

    • pageIndex: number

    戻り値 undefined | "R" | "S" | "C" | "A" | "W"

  • ページの絶対回転を度単位で設定します。有効な値は、0、90、180、および270度です。SupportApiが必要です。

    サンプル

    // 最初のページの回転を180度に設定します。
    await viewer.setPageRotation(0, 180);

    パラメータ

    • pageIndex: number
    • rotation: number
    • viewRotationIncluded: boolean = true

    戻り値 Promise<boolean>

  • ページの回転値を取得します。

    サンプル

    // 最初のページの回転値を取得します。
    var rotation = viewer.getPageRotation(0);

    パラメータ

    • pageIndex: number
    • includeViewRotation: boolean = true

      ビューを回転します。デフォルトは true です。

    戻り値 number

  • このメソッドを使用して、PDFビューワによって使用されているリソースを閉じて解放します。

    戻り値 void

  • 確認ダイアログを表示します。

    サンプル

    const confirmResult = await viewer.confirm("Apply changes?", "info", "Confirm action", ["Yes", "No", "Cancel"]);
    if (confirmResult === "Yes") {
    // ここにコードを入れてください。
    } else if (confirmResult === "No") {
    // ここにコードを入れてください。
    } else {
    // ここにコードを入れてください。
    }

    パラメータ

    • オプション confirmationText: string | Element
    • オプション level: "error" | "info" | "warning"
    • オプション title: string
    • オプション buttons: ConfirmButton[]

    戻り値 Promise<boolean | ConfirmButton>

  • 開いているドキュメントを閉じます。

    サンプル

    await viewer.close();

    戻り値 Promise<void>

  • PDFドキュメントを開きます。

    サンプル

    viewer.open("Documents/HelloWorld.pdf");

    サンプル

    // Basic認証のヘッダーを指定します。
    viewer.open("http://localhost:5005/api/pdf-viewer/GetPdf?file=HelloWorld.pdf", {
    headers: {
    "Authorization": "Basic " + btoa(unescape(encodeURIComponent("USERNAME:PASSWORD"))),
    "CustomHeader": "Custom header value"
    }
    });

    パラメータ

    • オプション file: any

      PDFドキュメント(文字列)またはバイナリデータ(Uint8Array)へのURL。

    • オプション openParameters: OpenParameters

      パラメータオブジェクトをロードしています。

    戻り値 Promise<LoadResult>

  • ユーザーがPDFファイルを選択できる[ファイルを開く]ダイアログを表示します。

    サンプル

    viewer.openLocalFile();

    戻り値 any

  • 新しい空白のドキュメントを作成して開きます。SupportApiが必要です。

    サンプル

    // 「test.pdf」という名前の新しい空白のドキュメントを作成し、
    // アクティブなドキュメントが変更されている場合は確認ダイアログを表示します。
    viewer.newDocument({ fileName: "test.pdf", confirm: true});

    パラメータ

    • オプション params: string | { fileName?: string; confirm?: boolean }

      パラメータオブジェクト:fileName-新しいドキュメントのファイル名、confirm-ドキュメントに変更があるときに確認ダイアログを表示します。

    戻り値 Promise<null | LoadResult>

  • ドキュメントに空白のページを追加します。SupportApiが必要です。

    サンプル

    // 新しい空白のページを作成し、2番目の位置に挿入します。
    viewer.newPage({pageIndex: 1});

    パラメータ

    • オプション params: { width?: number; height?: number; pageIndex?: number }

      パラメータオブジェクト:width-ページ幅(ポイント単位)、height-ページの高さ(ポイント単位)、pageIndex-ターゲットページインデックス。

      • オプション width?: number
      • オプション height?: number
      • オプション pageIndex?: number

    戻り値 Promise<void>

  • ページを削除します。SupportApiが必要です。

    サンプル

    // インデックス3のページを削除します。
    viewer.deletePage(3);

    パラメータ

    • オプション pageIndex: number

      削除するページインデックス。

    戻り値 Promise<void>

  • ブラウザの[ドキュメントを印刷]ダイアログを開きます。

    サンプル

    viewer.print();

    戻り値 void

  • ビューワにロードされたPDFドキュメントをローカルディスクにダウンロードします。

    サンプル

    viewer.download();

    パラメータ

    • オプション fileName: string

      宛先ファイル名。

    戻り値 void

  • 変更したPDFドキュメントをローカルディスクに保存します。SupportApiが必要です。

    サンプル

    宛先ファイル名を指定します。

    viewer.save('Test.pdf');

    パラメータ

    • オプション fileName: string

      宛先ファイル名。

    • オプション settings: SaveSettings

      追加の保存設定。

    戻り値 Promise<boolean>

  • 現在の PDF ドキュメントのページを PNG 画像として保存し、結果の画像を圧縮して、結果の zip形式のアーカイブをダウンロードします。 SupportAPI が必要です。

    サンプル

    // 現在の PDF ドキュメントのページを PNG 画像として保存し、保存先の zip 形式のファイル名を指定します。
    viewer.saveAsImages('Test.zip');

    サンプル

    // 現在の PDF ドキュメントのページを PNG 画像として保存し、
    // 保存先の zip 形式のファイル名を指定します。
    viewer.saveAsImages("sample.pdf", { zoomFactor: 1.5 });

    パラメータ

    • オプション fileName: string

      オプションです。 保存先の zip 形式のアーカイブ ファイル名。

    • オプション settings: SaveSettings

      追加の保存設定。

    戻り値 Promise<boolean>

  • ローカルの変更をサーバーにアップロードします。SupportApiが必要です。

    サンプル

    viewer.saveChanges().then(function(result) {
    if(result) {
    alert("The document saved on the server.");
    } else {
    alert("Cannot save the document on the server.");
    }
    });

    戻り値 Promise<boolean>

  • 「フォームの送信」を実行して、入力されたフォームデータをWebサーバーまたは電子メールに送信します。フォームデータは、HTMLのsubmitメソッドを使用してHTMLフォームとして送信されます。

    サンプル

    絶対URLを使用してフォームをWebサーバーに送信します。

    viewer.submitForm("http://myhost.local/AcceptHtmlForm");

    サンプル

    相対URLを使用してフォームをWebサーバーに送信します。

    viewer.submitForm("/CustomFormHandler");

    サンプル

    フォームを電子メールに送信します。

    viewer.submitForm("mailto:myform@example.com");

    パラメータ

    • submitUrl: string

      宛先 URI。

    • オプション options: SubmitFormOptions

      オプション。送信フォームのオプション。

    戻り値 Promise<void>

  • フォームの値をリセットします。

    戻り値 void

  • このメソッドを使用して、アクティブなフォームを検証し、検証結果を取得します。

    戻り値

    検証が成功した場合はtrueを返し、検証が失敗した場合はfalseまたは検証エラーメッセージを含む文字列を返します。

    サンプル

    // すべてのフォームフィールドを検証します。各フィールドの値は「はい」または「いいえ」である必要があります。
    viewer.validateForm((fieldValue, field) => { return (fieldValue === "YES" || fieldValue === "NO") ? true : "Possible value is YES or NO."; });

    パラメータ

    • オプション validator: ((fieldValue: string | string[], field: WidgetAnnotation) => string | boolean)

      オプション。フォームの各フィールドに対して呼び出されるValidator関数。検証エラーに関するメッセージを含む文字列値を返すことができ、このメッセージはUIに表示されます。成功した結果の場合はtrueまたはnullを返します。

        • (fieldValue: string | string[], field: WidgetAnnotation): string | boolean
        • パラメータ

          戻り値 string | boolean

    • オプション silent: boolean

      オプション。ユーザーにメッセージを表示せず、最終的な検証結果を取得する場合、trueを渡します。

    • オプション ignoreValidationAttrs: boolean

      オプション。required、min、max、minLength、maxLength、email、patternなどのフィールド属性を使用した検証をスキップする場合、trueを渡します。これらの属性は無視されます。

    戻り値 string | boolean

  • 現在のドキュメントのセキュリティ情報を取得します。

    サンプル

    const docSecurityInfo = await viewer.getDocumentSecurity();

    戻り値 Promise<DocumentSecuritySummary>

  • 現在のドキュメントのメタデータ情報を取得します。

    サンプル

    const docMetaInfo = await viewer.getDocumentInformation();

    戻り値 Promise<DocumentInformation>

  • 特定のページ番号を入力してページに移動します(1から始まります)。

    非推奨

    goToPageNumberメソッドはバージョン2.3.1以降で非推奨になりました。その代わりに、goToPageメソッドまたはpageIndexプロパティを使用します。

    サンプル

    // 2ページ目に移動します。
    viewer.goToPageNumber(2);

    パラメータ

    • pageNumber: number

    戻り値 void

  • 特定のページ番号を入力してページに移動します。

    バージョン以来

    2.3.1

    サンプル

    // 最初のページに移動します。
    viewer.goToPage(0);

    パラメータ

    • pageIndex: number

    戻り値 void

  • 最初のページに移動します。

    サンプル

    viewer.goToFirstPage();

    戻り値 void

  • 前のページに移動します。

    サンプル

    viewer.goToPrevPage();

    戻り値 void

  • 次のページに移動します。

    サンプル

    viewer.goToNextPage();

    戻り値 void

  • 最後のページに移動します。

    サンプル

    viewer.goToLastPage();

    戻り値 void

  • ページをスクロールして表示します。

    非推奨

    scrollPageIntoView メソッドはバージョン2.3.1以降で非推奨になりました。その代わりに、goToPageメソッドまたはscrollAnnotationIntoViewプロパティを使用します。

    サンプル

    • // 10ページまでスクロールします。
    • viewer.scrollPageIntoView( { pageNumber: 10 } )

    サンプル

    • // 注釈境界の長方形をスクロールして表示します。
    • var rectangle = annotation.rect;
    • var pagePosX = rectangle[0];
    • var pagePosY = rectangle[1] + Math.abs(rectangle[3] - rectangle[1]);
    • viewer.scrollPageIntoView({ pageNumber: pageIndex + 1, destArray: [null, { name: "XYZ" }, pagePosX, pagePosY, viewer.zoomValue / 100.0] });

    パラメータ

    • params: { pageNumber: number; destArray?: any[]; allowNegativeOffset?: boolean }

      オブジェクト。 スクロールパラメータ: pageNumber - 番号 . ページ番号 . destArray - 宛先情報を含む配列 : destArray[0] // nullにすることができます。PDFページ参照(内部使用のみ)。. destArray[1] // 宛先ビュータイプ名が含まれます: { name: 'XYZ' } - 左上隅のポイントおよび拡大縮小率として指定された宛先(ページの左下隅は座標系(0、0)の原点です)。 { name: 'Fit' } - ページをウィンドウに合わせます { name: 'FitH' } - ページの幅をウィンドウに合わせます { name: 'FitV' } - ページの高さをウィンドウに合わせます { name: 'FitR' } - 左上隅と右下隅のポイントで指定された長方形をウィンドウに合わせます { name: 'FitB' } - ページに表示されるすべての要素を含む長方形をウィンドウに合わせます { name: 'FitBH' } - 境界ボックスの幅をウィンドウに合わせます { name: 'FitBV' } - 境界ボックスの高さをウィンドウに合わせます。

      • destArray[2] // x位置オフセット。
      • destArray[3] // y位置オフセット (メモ:ページの左下隅は座標系(0、0)の原点です) 。
      • destArray[4] // nullにすることができ、FitRの場合は境界ボックスの幅を含み、XYZの場合はスケールを含みます。
      • contains scale when view name is XYZ,
      • destArray[5] // nullにすることができ、FitRの場合は境界ボックスの高さを含みます。
      • pageNumber: number
      • オプション destArray?: any[]
      • オプション allowNegativeOffset?: boolean

    戻り値 void

  • このメソッドは、pageIndexパラメータによって指定されたインデックスでページをロードし、ページをビューにスクロールします。

    戻り値

    ページが完全にロードされ(テキストと注釈レイヤを含む)、スクロールされたときに解決されるpromiseのブール値のを返します。ページが存在しない場合、またはエラーが発生した場合、promiseはfalse値で解決されます。それ以外の場合、promiseはtrue値で解決されます。

    サンプル

    // 最初のページをロードして表示します。
    viewer.loadAndScrollPageIntoView(0);

    パラメータ

    • pageIndex: number

      宛先ページのインデックス。

    • オプション destArray: any[]

      宛先情報を含む配列 : destArray[0] // nullにすることができます。PDFページ参照(内部使用のみ)。. destArray[1] // 宛先ビュータイプ名が含まれます: { name: 'XYZ' } - 左上隅のポイントおよび拡大縮小率として指定された宛先(ページの左下隅は座標系(0、0)の原点です)。 { name: 'Fit' } - ページをウィンドウに合わせます { name: 'FitH' } - ページの幅をウィンドウに合わせます { name: 'FitV' } - ページの高さをウィンドウに合わせます { name: 'FitR' } - 左上隅と右下隅のポイントで指定された長方形をウィンドウに合わせます { name: 'FitB' } - ページに表示されるすべての要素を含む長方形をウィンドウに合わせます { name: 'FitBH' } - 境界ボックスの幅をウィンドウに合わせます { name: 'FitBV' } - 境界ボックスの高さをウィンドウに合わせます destArray[2] // x位置オフセット destArray[3] // y位置オフセット (メモ:ページの左下隅は座標系(0、0)の原点です) destArray[4] // nullにすることができ、FitRの場合は境界ボックスの幅を含み、XYZの場合はスケールを含みます、 destArray[5] // nullにすることができ、FitRの場合は境界ボックスの高さを含みます。

    • オプション scrollIntoViewOptions: boolean | ScrollPageIntoViewOptions

      (オプション)スクロールオプション。destArray パラメータが指定されていない場合に使用されます。true の場合、要素の上部はスクロール可能な祖先の表示領域の上部に揃えられます。scrollIntoViewOptions: {block: "start"、inline: "nearest"} に対応します。これはデフォルト値です。false の場合、要素の下部はスクロール可能な祖先の表示領域の下部に揃えられます。scrollIntoViewOptions: {block: "end", inline: "nearest"} に対応します。

    戻り値 Promise<boolean>

  • アクティブなビューワのテーマを設定します。

    サンプル

    viewer.setTheme("themes/light-blue");

    パラメータ

    • オプション theme: string

      テーマオプションで指定されたテーマ名。

    戻り値 void

  • 切り取りを実行します(Ctrl + X)。SupportApiが必要です。

    サンプル

    viewer.execCutAction();

    パラメータ

    • オプション buffer: CopyBufferData

      切り出すデータ。

    戻り値 Promise<boolean>

  • コピーを実行します(Ctrl + C)。SupportApiが必要です。

    サンプル

    viewer.execCopyAction();

    パラメータ

    • オプション buffer: CopyBufferData

      コピーするデータ。

    戻り値 Promise<boolean>

  • 削除を実行します(Delキー)。SupportApiが必要です。

    サンプル

    viewer.execDeleteAction();

    パラメータ

    • オプション buffer: CopyBufferData

      削除するデータ。

    戻り値 Promise<boolean>

  • 貼り付けを実行します(Ctrl + V)。SupportApiが必要です。

    サンプル

    if(viewer.hasCopyData) {
    viewer.execPasteAction({x: 10, y: 10, pageIndex: 0});
    }

    パラメータ

    • オプション point: GcSelectionPoint

      挿入位置。

    戻り値 Promise<boolean>

  • 更新されたドキュメントリストをドキュメントリストパネルにロードします。

    サンプル

    viewer.loadDocumentList();

    サンプル

    // DATA URIを使用してドキュメントリストをロードします。
    viewer.loadDocumentList('data:,[{"path": "doc1.pdf"}, {"path": "doc2.pdf", "name": "doc 2", "title": "title 2"}]');

    パラメータ

    • オプション documentListUrl: string | DocumentListItem[]

      オプション。ドキュメントリストサービスの URL またはドキュメント リスト項目を含む配列。

    戻り値 void

  • サイドバーパネルを開きます。

    サンプル

    const layersPanelHandle = viewer.addLayersPanel();
    viewer.open("house-plan.pdf").then(()=> {
    viewer.openPanel(layersPanelHandle);
    });

    パラメータ

    • panelHandleOrId: string | PanelHandle

      開くパネルハンドルまたはパネルID。

    戻り値 void

  • サイドバーパネルを閉じます。

    サンプル

    viewer.closePanel();

    パラメータ

    • オプション panelHandleOrId: string | PanelHandle

      オプション。閉じるパネルハンドルまたはパネルID。

    戻り値 void

  • デフォルトの順序でサイドバーパネルのデフォルトセットを追加します。デフォルトセットは、「サムネイル」、「検索」、「アウトライン」、「レイヤー」、「構造ツリー」および「添付ファイル」です。

    サンプル

    viewer.addDefaultPanels();

    戻り値 PanelHandle[]

  • アプリケーションのルートディレクトリにあるdocumentslist.jsonファイル(documentListUrlオプションで指定されたURL)で指定された使用可能なドキュメント配列を使用して、ドキュメントリストパネルをビューワに追加します。documentListUrlオプションのエンドポイントでサービスを指定できます。サービスは、利用可能なドキュメント配列を含むJSON文字列を返す必要があります(例:["pdf1.pdf"、 "pdf2.pdf"])。

    サンプル

    documentslist.jsonファイルのコンテンツの例。

    ["file1.pdf", "file2.pdf"].

    サンプル

    var viewer = new DsPdfViewer("#root", { documentListUrl: "/documentslist.json" });
    viewer.addDocumentListPanel();

    サンプル

    var viewer = new DsPdfViewer("#root");
    // Add document list panel and specify documentListUrl option:
    viewer.addDocumentListPanel('/documentslist.json');

    サンプル

    var viewer = new DsPdfViewer("#root");
    // ドキュメントリストパネルを追加し、DATA URIを使用してdocumentListUrlオプションを指定します。
    viewer.addDocumentListPanel('data:,[{"path": "doc1.pdf"}, {"path": "doc2.pdf", "name": "Hello doc 2", "title": "title 2"}]');

    パラメータ

    • オプション documentListUrl: string | DocumentListItem[]

      オプション。ドキュメントリストサービスの URL またはドキュメント リスト項目の事前定義されたリスト。。

    戻り値 PanelHandle

  • 共有ドキュメントのリストを含むパネルを追加します。

    サンプル

    var viewer = new DsPdfViewer("#root");
    viewer.addSharedDocumentsPanel();

    戻り値 PanelHandle

  • サムネイルパネルを追加します。

    サンプル

    viewer.addThumbnailsPanel();

    戻り値 PanelHandle

  • 検索パネルを追加します。

    サンプル

    viewer.addSearchPanel();

    戻り値 PanelHandle

  • 注釈エディタのパネルを追加します。SupportApiが必要です。

    サンプル

    viewer.addAnnotationEditorPanel();

    戻り値 PanelHandle

  • アーティクルパネルを追加します。

    サンプル

    viewer.addArticlesPanel();

    戻り値 PanelHandle

  • 添付ファイルパネルを追加します。

    サンプル

    viewer.addAttachmentsPanel();

    戻り値 PanelHandle

  • アウトラインパネルを追加します。

    サンプル

    viewer.addOutlinePanel();

    戻り値 PanelHandle

  • オプションのコンテンツレイヤーパネルを追加します。

    サンプル

    viewer.addLayersPanel();

    戻り値 PanelHandle

  • フォームエディタのパネルを追加します。SupportApiが必要です。

    サンプル

     var viewer = new DsPdfViewer('#root', { supportApi: 'api/pdf-viewer' } );
    viewer.addDefaultPanels();
    viewer.addFormEditorPanel();

    戻り値 PanelHandle

  • テキスト注釈返信ツールを有効にします。メモ:既存の返信を編集/削除または追加する機能を有効にするには、SupportApiを構成する必要があります。それ以外の場合は、返信ツールが読み取り専用モードになります。

    サンプル

    viewer.addReplyTool('expanded');

    パラメータ

    • sidebarState: GcRightSidebarState = 'collapsed'

      返信ツールを最初に展開する場合は、「expanded」値を渡します。デフォルト値は「collapsed」です。

    戻り値 void

  • パラメータ注釈によって指定された注釈またはフィールドを複製します。SupportApiが必要です。

    サンプル

    // 次の例では、「field1」という名前のフィールドをコピーして、プログラムで2ページ目に配置する方法を示します。
    // field1という名前のフィールドウィジェットを検索します。
    var resultData = await viewer.findAnnotation("field1", {findField: 'fieldName'});
    // フィールドを複製します。
    var clonedField = viewer.cloneAnnotation(resultData[0].annotation);
    // フィールド名プロパティを変更します。
    clonedField.fieldName = "field1Copy";
    // 複製されたフィールドを2ページ目に追加します。
    viewer.addAnnotation(1, clonedField);

    パラメータ

    戻り値 AnnotationBase

  • テキスト選択の内容を返します。

    サンプル

    alert("Text selected by the user: " + viewer.getSelectedText());

    戻り値 string

  • 付箋をドキュメントに追加します。SupportApiが必要です。

    サンプル

    viewer.addStickyNote(viewer.toViewPortPoint({x: 50, y: 50, pageIndex: 0}));

    パラメータ

    • position: GcSelectionPoint

      ページ相対ポイント。 原点は左上です。 pageIndexを指定する必要があることに注意してください。

    戻り値 void

  • Y座標の原点を下に変換します。

    サンプル

    var pageIndex = 0;
    var y = 0;
    // y値をTopLeftからBottomLeft原点に変換します。
    // 最初のページからのビューポートを考慮します。
    var yBottom = viewer.changeOriginToBottom(pageIndex, y);

    パラメータ

    • pageIndex: any
    • y: any

    戻り値 number

  • Y座標の原点を上に変換します。

    サンプル

    var pageIndex = 0;
    var y = 0;
    // y値をTopLeftからBottomLeft原点に変換します。
    // 最初のページからのビューポートを考慮します。
    var yTop = viewer.changeOriginToTop(pageIndex, y);

    パラメータ

    • pageIndex: any
    • y: any

    戻り値 number

  • このメソッドは、yパラメータで指定された y座標の座標系の原点を変更し、変換された値を返します。

    サンプル

    var pageIndex = 0;
    var y = 0;
    // y値をTopLeftからBottomLeft原点に変換します。
    // 最初のページからのビューポートを考慮します。
    var yBottom = viewer.changeOrigin(pageIndex, y, 'TopLeft', 'BottomLeft');

    パラメータ

    • pageIndex: number
    • y: number
    • srcOrigin: "TopLeft" | "BottomLeft"
    • destOrigin: "TopLeft" | "BottomLeft"

    戻り値 number

  • このメソッドは、パラメータ境界で指定された長方形の座標系の原点を変更し、変換された長方形の値を返します。

    サンプル

    var pageIndex = 0;
    var topLeftBounds = [0, 0, 200, 40];
    // topLeftBoundsをTopLeft原点からBottomLeft原点に変換します。
    // 最初のページのビューポートを考慮して、結果を
    // bottomLeftBounds変数に格納します。
    var bottomLeftBounds = viewer.changeBoundsOrigin(pageIndex, topLeftBounds, 'TopLeft', 'BottomLeft');

    サンプル

    // ビューポートを基準にした注釈の境界を取得します。
    const pageIndex = 0;
    const viewPort = viewer.getViewPort(pageIndex);
    const annotationRect = (await viewer.findAnnotation('10R'))[0].annotation.rect;
    const invertedRect = viewer.changeBoundsOrigin(pageIndex, annotationRect, 'BottomLeft', 'TopLeft');
    const annotationX1 = invertedRect[0] * viewPort.scale;
    const annotationY1 = invertedRect[1] * viewPort.scale;
    const annotationX2 = invertedRect[2] * viewPort.scale;
    const annotationY2 = invertedRect[3] * viewPort.scale;

    パラメータ

    • pageIndex: number

      ページインデックス(0 から始まります)。

    • bounds: number[]

      境界配列: [x1, y1, x2, y2]

    • srcOrigin: "TopLeft" | "BottomLeft"

      ソース座標系の原点。設定できる値は、「TopLeft」または「BottomLeft」です。

    • destOrigin: "TopLeft" | "BottomLeft"

      宛先座標系の原点。設定できる値は、「TopLeft」または「BottomLeft」です。

    • normalize: boolean = true

      オプション。デフォルトは true です。四角形を正規化します(rect=[x1, y1, x2, y2]であるため、x1、y1)は(x2、y2)よりも小さくなります)。

    戻り値 number[]

  • PDFページのビューポートの情報を返します。

    戻り値

    オブジェクトは次のフィールドを含みます。 { viewBox: // 元のページ境界。 [x1, y1, x2, y2]. // ページの元の幅または高さを確認したい場合は、viewBox値を使用して取得できます。 // var pageWidth = viewBox[2] - viewBox[0]; // var pageHeight = viewBox[3] - viewBox[1]; width: // ユーザースペースにページの現在の幅(スケールと回転の値が適用されます), height: // ユーザースペースにページの現在の高さ(スケールと回転の値が適用されます) scale: // アクティブなスケール値の回転 // アクティブ回転値 }

    サンプル

    // 最初のページのビューポートオブジェクトを取得します。
    var viewPort = viewer.getViewPort(0);

    パラメータ

    • pageIndex: number

      ページインデックス(0 から始まります)。

    戻り値 PageViewport

  • ページサイズを返します。デフォルトでは、スケールなしでサイズを返します。スケールされた値を取得する場合、includeScale引数にtrueを渡します。

    サンプル

    // 最初のページサイズを取得します。
    var pageSize = viewer.getPageSize(0);

    パラメータ

    • pageIndex: number

      ページインデックス(0 から始まります)。

    • オプション includeScale: boolean

      オプション。 trueの場合、メソッドはスケーリングされた値を返します。

    戻り値 { width: number; height: number }

    • width: number
    • height: number
  • ページのサイズを設定します。SupportApiが必要です。

    サンプル

    // 最初のページの新しいページサイズを設定します。
    viewer.setPageSize(0, { width: 300, height: 500 } );

    パラメータ

    • pageIndex: number
    • size: { width: number; height: number }
      • width: number
      • height: number

    戻り値 Promise<boolean>

  • 注釈をドキュメントに追加します。SupportApiが必要です。

    サンプル

    // ドキュメントを開いたときに、最初のページに四角形注釈を追加します。
    viewer.onAfterOpen.register(function() {
    viewer.addAnnotation(0, {
    annotationType: 5, // AnnotationTypeCode.SQUARE
    subtype: "Square",
    borderStyle: { width: 5, style: 1 },
    color: [0, 0, 0],
    interiorColor: [255, 0, 0],
    rect: [0, 0, 200, 200]
    });
    });

    サンプル

    // 次の例では、「field1」という名前のフィールドをコピーして、プログラムで2ページ目に配置する方法を示します。
    // field1という名前のフィールドウィジェットを検索します。
    var resultData = await viewer.findAnnotation("field1", {findField: 'fieldName'});
    // フィールドを複製します。
    var clonedField = viewer.cloneAnnotation(resultData[0].annotation);
    // フィールド名プロパティを変更します。
    clonedField.fieldName = "field1Copy";
    // 複製されたフィールドを2ページ目に追加します。
    viewer.addAnnotation(1, clonedField);

    サンプル

    // ドキュメントを開いたときに、最初のページに添付ファイル注釈を追加します。
    viewer.onAfterOpen.register(function() {
    viewer.addAnnotation(0, {
    annotationType: 17, // AnnotationTypeCode.FILEATTACHMENT
    subtype: "FileAttachment",
    file: {
    filename: 'attachment.png',
    content: new Uint8Array([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,45,0,0,0,32,8,6,0,0,0,134,132,241,68,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,7,56,73,68,65,84,88,9,205,88,11,112,92,85,25,254,255,115,179,129,148,36,155,190,147,187,91,228,49,64,25,99,181,105,169,117,176,149,34,99,113,80,65,165,162,118,168,15,44,3,42,99,55,125,8,29,59,221,90,29,132,38,187,43,56,162,22,5,161,206,240,24,64,40,130,15,156,138,226,3,147,14,118,74,219,41,157,102,138,238,166,155,180,105,246,238,210,144,108,238,158,223,239,44,189,233,110,186,217,172,54,64,239,204,206,61,143,255,241,157,255,156,255,251,207,93,166,183,243,185,185,211,55,125,246,69,239,177,136,166,176,150,92,86,185,201,190,244,238,30,10,47,113,79,199,45,159,142,114,41,221,192,93,125,65,62,203,183,92,136,174,99,226,185,144,57,171,80,14,227,57,22,249,155,102,218,46,110,238,177,195,107,38,191,94,56,95,73,123,194,64,207,220,146,156,81,229,171,217,196,164,110,130,99,31,145,116,144,208,14,210,178,155,20,245,137,102,75,20,53,50,211,249,36,124,53,49,205,133,115,87,72,111,29,146,236,247,142,134,166,31,174,4,176,145,153,16,208,118,52,213,194,108,61,13,144,141,48,248,184,43,58,150,108,245,255,179,28,8,187,189,111,150,178,170,215,65,231,102,44])
    },
    rect: [0, 0, 20, 20]
    });
    });

    パラメータ

    • pageIndex: number
    • annotation: AnnotationBase
    • オプションl args: { skipPageRefresh?: boolean }
      • オプション skipPageRefresh?: boolean

    戻り値 Promise<{ pageIndex: number; annotation: AnnotationBase }>

  • スタンプ注釈を追加します。

    サンプル

    // 外部画像を使用して PDF にグラフィック署名を追加します。
    function addStampFromUrl(imageUrl, viewer) {
    * fetch(imageUrl)
    .then(response => response.blob())
    .then(blob => blob.arrayBuffer())
    .then(arrayBuffer => {
    const fileId = new Date().getTime() + ".png";
    const fileName = fileId;
    const pageIndex = 0;
    const imageData = new Uint8Array(arrayBuffer);
    const rect = [0, 0, 200, 200];

    viewer.storage.setItem(fileId, imageData);
    viewer.addStamp(
    imageData,
    {
    fileId,
    fileName,
    pageIndex,
    rect,
    select: false,
    subject: "",
    rotate: 0,
    convertToContent: false
    });
    });
    }
    // 使用法::
    addStampFromUrl("http://localhost/image.png", viewer);

    パラメータ

    • imageData: null | Uint8Array

      Uint8Array、バイナリ画像データ。

    • args: { fileId: string; pageIndex: number; rect: number[]; select?: boolean; subject?: string; fileName?: string; rotate?: number; convertToContent?: boolean }
      • fileId: string
      • pageIndex: number
      • rect: number[]
      • オプション select?: boolean
      • オプション subject?: string
      • オプション fileName?: string
      • オプション rotate?: number
      • オプション convertToContent?: boolean

    戻り値 Promise<{ pageIndex: number; annotation: AnnotationBase }>

  • 更新された共有ドキュメントのリストを共有ドキュメントパネルにロードします。

    サンプル

    viewer.loadSharedDocuments();

    戻り値 void

  • 共有ドキュメントをその ID で開きます。

    サンプル

    ドキュメントインデックスを使用して共有ドキュメントを開きます。

    async function openSharedDocByIndex(viewer, sharedDocIndex) {
    const sharedDocuments = await viewer.getSharedDocuments();
    viewer.openSharedDocument(sharedDocuments[sharedDocIndex].documentId);
    }
    // 最初の共有ドキュメントを開きます。
    openSharedDocByIndex(DsPdfViewer.findControl("#viewer"), 0);

    サンプル

    ドキュメントのファイル名を使用して共有ドキュメントを開きます。同じ名前のドキュメントは複数回に共有することができます。次の例では、指定された fileName を持つ最初に見つかったドキュメントを開きます。

    async function openSharedDocByName(viewer, fileName) {
    const sharedDocuments = await viewer.getSharedDocuments();
    const index = sharedDocuments.findIndex(d=>d.fileName === fileName);
    if(index !== -1)
    viewer.openSharedDocument(sharedDocuments[index].documentId);
    }
    // 「financial-report.pdf」という名前の最初の利用可能な共有ドキュメントを開きます。
    openSharedDocByName(DsPdfViewer.findControl("#viewer"), "financial-report.pdf");

    パラメータ

    • sharedDocumentId: string

      一意のドキュメント識別子。

    戻り値 Promise<null | OpenDocumentInfo>

  • ドキュメントのファイル名を使用して共有ドキュメントを開きます。同じ名前のドキュメントは複数回に共有することができます。openSharedDocumentByName は、指定された fileName を持つ最初に見つかったドキュメントを開きます。

    サンプル

    // 「sample.pdf」という名前の最初の利用可能な共有ドキュメントを開きます。
    viewer.openSharedDocumentByName("sample.pdf");

    パラメータ

    • fileName: string

    戻り値 Promise<null | OpenDocumentInfo>

  • ドキュメントインデックスを使用して共有ドキュメントを開きます。

    サンプル

    2 番目の共有ドキュメントを開きます。

    viewer.openSharedDocumentByIndex(1);

    パラメータ

    • sharedDocIndex: number

    戻り値 Promise<null | OpenDocumentInfo>

  • 現在のユーザーが使用できる共有ドキュメントのリストを返します。

    サンプル

    var sharedDocuments = await viewer.getSharedDocuments();

    戻り値 Promise<null | SharedDocumentInfo[]>

  • 注釈を更新します。SupportApiが必要です。

    戻り値

    更新された注釈オブジェクトによってpromiseが解決されます。

    サンプル

    // 最初のページの注釈を更新します(ページインデックスは0です)。
    viewer.updateAnnotation(0, annotation1);

    パラメータ

    • pageIndex: number
    • annotation: AnnotationBase
    • args: { skipPageRefresh?: boolean; prevPageIndex?: number; changedPageIndex?: number } = {}
      • オプション skipPageRefresh?: boolean
      • オプション prevPageIndex?: number
      • オプション changedPageIndex?: number

    戻り値 Promise<{ pageIndex: number; annotation: AnnotationBase }>

  • 複数の注釈を同時に更新します。SupportApiが必要です。

    戻り値

    更新された注釈オブジェクトによってpromiseが解決されます。

    サンプル

    // 2ページ目の注釈を更新します(ページインデックスは1です)。
    var annotationsToUpdate = [annotation1, annotation2];
    viewer.updateAnnotations(1, annotationsToUpdate);

    パラメータ

    • pageIndex: number
    • annotations: AnnotationBase | AnnotationBase[]
    • オプションl args: { skipPageRefresh?: boolean }
      • オプション skipPageRefresh?: boolean

    戻り値 Promise<{ pageIndex: number; annotations: AnnotationBase[] }>

  • fieldNameパラメータで指定されたラジオボタングループを新しいフィールド値で更新します。

    戻り値

    promiseはブール値で解決されます。trueの場合、-ラジオボタンが更新され、falseの場合、-エラーが発生しました。

    サンプル

    viewer.updateGroupFieldValue("radiogroup1", "3", { skipPageRefresh: true } );

    サンプル

    viewer.updateGroupFieldValue("radiogroup1", "3", { propertyName: "alternativeText", skipPageRefresh: true } );

    パラメータ

    • fieldName: string

      グループ化されたラジオボタンのフィールド名。

    • newValue: string

      新しいfieldValue。

    • オプション args: { skipPageRefresh?: boolean; propertyName?: string }

      SkipPageRefresh ブール値 - ページ表示を更新する必要がない場合は true に設定します。 デフォルトは false です。 propertyName 文字列 - 更新するプロパティ名。 デフォルトは「fieldValue」です。

      • オプション skipPageRefresh?: boolean
      • オプション propertyName?: string

    戻り値 Promise<boolean>

  • 注釈をドキュメントから削除します。SupportApiが必要です。

    サンプル

    // 最初のページにある「2R」IDの注釈を削除します。
    viewer.removeAnnotation(0, '2R');

    パラメータ

    • pageIndex: number
    • annotationId: string
    • オプションl args: { skipPageRefresh?: boolean }
      • オプション skipPageRefresh?: boolean

    戻り値 Promise<boolean>

  • 開いたドキュメント内に注釈を検索します。検索結果で解決されるpromiseを返します。

    サンプル

    // 「2R」IDの注釈を検索します。
    viewer.findAnnotations("2R").then(function(dataArray) {
    if(dataArray[0])
    alert(`Annotation ${dataArray[0].annotation.id} found on page with index ${dataArray[0].pageIndex}.`);
    else
    alert('Annotation not found.');
    });

    サンプル

    // field1という名前のすべてのフィールドを検索します。
    viewer.findAnnotations("field1", {findField: 'fieldName', findAll: true}).then(function(dataArray) {

    });

    パラメータ

    • findString: string | number

      クエリを検索します。

    • オプション findParams: { findField?: string; pageIndexConstraint?: number; findAll?: boolean }

      パラメータを見つけます。デフォルトでは、注釈はページの制約なしにIDで検索されます。

      • オプション findField?: string
      • オプション pageIndexConstraint?: number
      • オプション findAll?: boolean

    戻り値 Promise<{ pageIndex: number; annotation: AnnotationBase }[]>

  • 編集する注釈を選択します。SupportApiが必要です。

    サンプル

    // 「2R」IDの注釈を選択します。
    viewer.selectAnnotation("2R");

    サンプル

    // 最後のページにある「9R」IDの注釈を選択します。
    viewer.selectAnnotation(viewer.pageCount - 1, "9R");

    パラメータ

    • pageIndex: string | number

      ページインデックス(0 から始まります)または注釈ID。

    • オプション annotation: string | AnnotationBase

      注釈IDまたは注釈オブジェクト。

    戻り値 Promise<boolean>

  • 注釈の選択をリセットします。SupportApiが必要です。

    サンプル

    viewer.unselectAnnotation();

    戻り値 any

  • 注釈をスクロールして表示します。

    サンプル

    // 2ページ目にある注釈をスクロールして表示します。
    viewer.scrollAnnotationIntoView(1, annotation);

    サンプル

    //  注釈を ID ごとにスクロールして表示します。
    viewer.scrollAnnotationIntoView("2R");

    サンプル

    // スムーズスクロール動作を使用して、注釈を ID ごとにスクロールして表示します。
    viewer.scrollAnnotationIntoView("2R", { behavior: "smooth" });

    パラメータ

    戻り値 Promise<void>

  • ドキュメントの変更を元に戻します。SupportApiが必要です。

    サンプル

    if(viewer.hasUndoChanges) {
    viewer.undoChanges();
    }

    戻り値 void

  • ドキュメントの変更をやり直します。SupportApiが必要です。

    サンプル

    if(viewer.hasRedoChanges) {
    viewer.redoChanges();
    }

    戻り値 void

  • ページを再描画します。 このメソッドは、ページの注釈も再描画します。

    サンプル

    // 表示されているページの内容と注釈を再描画します。
    viewer.repaint();

    サンプル

    // ページインデックス「0」および「3」の内容と注釈を再描画します。
    viewer.repaint([0, 3]);

    パラメータ

    • オプション indicesToRepaint: number[]

      このメソッドを指定する場合、ページインデックスが再描画されます。それ以外の場合、表示されているページを再描画されます。

    戻り値 void

  • 変更されたオプションを適用するには、このメソッドを呼び出します。

    サンプル

    viewer.options.zoomByMouseWheel = { always: false, ctrlKey: true, metaKey: true };
    viewer.applyOptions();

    戻り値 void

  • @see:toolbarLayoutに変更を適用するには、このメソッドを呼び出します。

    サンプル

    • viewer.toolbarLayout.viewer.default = ["open", "save", "share"];
    • viewer.applyToolbarLayout();

    サンプル

    • var viewer = new DsPdfViewer(document.querySelector("#viewer"));
    • viewer.addDefaultPanels();
    • var toolbar = viewer.toolbar;
    • var toolbarLayout = viewer.toolbarLayout;
    • toolbar.addItem({
    • key: 'custom-add-stamp',
    • icon: { type: "svg", content: '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path style="fill: #205F78;" d="M20.25 12l-2.25 2.25 2.25 2.25-3.75 3.75-2.25-2.25-2.25 2.25-2.25-2.25-2.25 2.25-3.75-3.75 2.25-2.25-2.25-2.25 2.25-2.25-2.25-2.25 3.75-3.75 2.25 2.25 2.25-2.25 2.25 2.25 2.25-2.25 3.75 3.75-2.25 2.25 2.25 2.25z"></path></svg>' },
    • title: 'Open your document to add a stamp',
    • checked: false, enabled: false,
    • action: function () {
    • alert("Implement your action here.");
    • },
    • onUpdate: function (args) {
    • var hasDoc = viewer.hasDocument && args.state.session.pageCount > 0;
    • return {
    • enabled: hasDoc,
    • checked: false,
    • title: hasDoc ? 'Add stamp' : 'Open your document to add a stamp'
    • }
    • }
    • });
    • toolbarLayout.viewer.default.splice(0, 0, "custom-add-stamp");
    • viewer.applyToolbarLayout();

    戻り値 void

  • ブラウザ ウィンドウを基準としたページ ビューの位置を返します。

    サンプル

    var pageLocation = viewer.getPageLocation(0);
    console.log('The first page location is ' + location.x + ', ' + location.y);

    サンプル

    // ID「10R」の注釈の上に赤い長方形を描画します。
    (async function(viewer, annotationId) {
    const pageLocation = viewer.getPageLocation(0), viewPort = viewer.getViewPort(0),
    scale = viewPort.scale, viewBox = viewPort.viewBox;
    const rect = (await viewer.findAnnotation(annotationId))[0].annotation.rect;
    const x1 = rect[0] * scale + pageLocation.x, x2 = rect[2] * scale + pageLocation.x,
    y1 = (viewBox[3] - rect[3]) * scale + pageLocation.y, y2 = (viewBox[3] - rect[1]) * scale + pageLocation.y;
    const div = document.createElement('div');
    div.style.position = 'absolute';
    div.style.left = `${x1}px`; div.style.top = `${y1}px`;
    div.style.width = `${x2 - x1}px`; div.style.height = `${y2 - y1}px`;
    div.style.border = '1px solid red';
    document.body.appendChild(div);
    })(viewer, "10R");

    サンプル

    // マウス クリックでテキスト注釈を追加します。
    document.addEventListener("click", (e) => {
    const target = (e["path"] || (e["composedPath"] && e["composedPath"]()) || [])[0] || e.target, page = target.closest(".page");
    if(target.closest(".gc-annotation"))
    return;
    if(page) {
    const pageIndex = page.getAttribute("data-index") * 1, pageLoc = viewer.getPageLocation(pageIndex), scale = viewer.getViewPort(pageIndex).scale;
    const x = (e.clientX - pageLoc.x) / scale, y = (e.clientY - pageLoc.y) / scale;
    const rect = viewer.changeBoundsOrigin(pageIndex, [x, y, x + 20, y + 20], "TopLeft", "BottomLeft");
    viewer.addAnnotation(pageIndex, { annotationType: 1 , contents: "Text annotation content", rect });
    }
    });

    パラメータ

    • pageIndex: number

    戻り値 { x: number; y: number }

    • x: number
    • y: number
  • setAnnotationBoundsメソッドを使用して、注釈の位置やサイズを設定します。

    サンプル

    // 注釈の場所を左上隅に設定します。
    viewer.setAnnotationBounds('1R', {x: 0, y: 0});
    // 注釈の場所を左下隅に設定します。
    viewer.setAnnotationBounds('1R', {x: 0, y: 0}, 'BottomLeft');
    // 注釈サイズを40x40ポイントに設定します。
    viewer.setAnnotationBounds('1R', {w: 40, h: 40});
    // 注釈の位置をx = 50、y = 50(左上)に設定し、サイズを40 x40ポイントに設定します。
    viewer.setAnnotationBounds('1R', {x: 50, y: 50, w: 40, h: 40});

    パラメータ

    • annotationId: string

      注釈オブジェクトまたは注釈ID。

    • bounds: { x: undefined | number; y: undefined | number; w: undefined | number; h: undefined | number }

      宛先の境界 - x、y、幅、高さはオプションです。

      • x: undefined | number
      • y: undefined | number
      • w: undefined | number
      • h: undefined | number
    • origin: "TopLeft" | "BottomLeft" = 'TopLeft'

      ソース座標系の原点。デフォルトはTopLeftです。

    • select: boolean = false

      編集後に注釈を選択します。デフォルトはfalseです。

    戻り値 Promise<void>

  • ユーザーに対してメッセージを表示します。

    サンプル

    // 警告メッセージを表示します。
    viewer.showMessage("Warning message text", "", "warn");

    パラメータ

    • message: string
    • details: string = ""
    • severity: "error" | "info" | "warn" | "debug" = "info"

    戻り値 void

  • ドキュメントの歴史で前に戻します。

    戻り値 void

  • ドキュメントの歴史で次に進みます。

    戻り値 void

  • @see:endUpdateへの次の呼び出しまで通知を中断します。

    サンプル

    viewer.beginUpdate();

    非推奨

    戻り値 void

  • @see:beginUpdateへの呼び出しによって中断された通知を再開します。

    サンプル

    viewer.endUpdate();

    非推奨

    戻り値 void

プロパティ

toggleSidebar: ((show?: boolean) => void)

型宣言

    • (show?: boolean): void
    • サイドバーパネルの表示/非表示を設定します。

      パラメータ

      • オプション show: boolean

      戻り値 void

コンストラクタ

  • GcPDFViewer コンストラクタ。.

    参照

    詳細については、ViewerOptions を参照してください。

    パラメータ

    • element: string | HTMLElement

      ルートコンテナ要素またはルートコンテナ要素の選択に使用されるセレクタパターン。

    • options: Partial<ViewerOptions> = {}

      ビューワのオプション。

    戻り値 DsPdfViewer