{
  "$schema": "https://ai.syncfusion.com/schema/registry-item.json",
  "name": "pdf-viewer-organize-pages",
  "framework": "angular",
  "type": "registry:component",
  "component": "PdfViewer",
  "variant": "organize-pages",
  "dependencies": [
    "@syncfusion/ej2-angular-pdfviewer"
  ],
  "description": "PDF viewer sample demonstrating page reordering, rotation, insertion, and deletion.",
  "meta": {
    "essentialStudioRelease": "2026 Volume 2 (v34.1.29)",
    "license": "commercial-or-community",
    "licenseNote": "The Syncfusion package is licensed. The composition in this file is source you own and edit. See https://ai.syncfusion.com/licensing.md",
    "requiresLicenseKey": true,
    "requiresServerEndpoint": false,
    "platformIndex": "https://ai.syncfusion.com/angular/llms.txt",
    "skillPack": "syncfusion/angular-ui-components-skills",
    "docs": "https://ai.syncfusion.com/gallery/angular/pdf-viewer-organize-pages.md"
  },
  "files": [
    {
      "target": "src/components/pdf-viewer-organize-pages/organize-pages.component.ts",
      "content": "import { Component, ViewEncapsulation, OnInit,ViewChild} from '@angular/core';\nimport { PdfViewerComponent, LinkAnnotationService, BookmarkViewService, MagnificationService, ThumbnailViewService, ToolbarService, NavigationService, TextSearchService, TextSelectionService, PrintService, AnnotationService,LoadEventArgs, FormFieldsService, FormDesignerService,PageOrganizerService, PdfViewerModule, PageOrganizerSettingsModel } from '@syncfusion/ej2-angular-pdfviewer';\nimport { SwitchModule } from '@syncfusion/ej2-angular-buttons';\nimport { ClickEventArgs } from '@syncfusion/ej2-buttons';\n\n/**\n * Default PdfViewer Controller\n */\n@Component({\n    selector: 'control-content',\n    templateUrl: 'organize-pages.html',\n    encapsulation: ViewEncapsulation.None,\n    // tslint:disable-next-line:max-line-length\n    providers: [LinkAnnotationService, BookmarkViewService, MagnificationService, ThumbnailViewService, ToolbarService, NavigationService,\n        TextSearchService, TextSelectionService, PrintService, AnnotationService, FormFieldsService, FormDesignerService, PageOrganizerService],\n    standalone: true,\n    imports: [\n        SwitchModule,\n        PdfViewerModule,\n    ],\n})\n\nexport class OrganizePagesComponent implements OnInit {\n    @ViewChild('pdfviewer')\n    public pdfviewerControl!: PdfViewerComponent;\n    public isInitialLoading: boolean = true;\n    \n    public document: string = 'https://cdn.syncfusion.com/content/pdf/pdf-succinctly.pdf';\n    public resource:string = \"https://cdn.syncfusion.com/ej2/23.2.6/dist/ej2-pdfviewer-lib\";\n    public pageOrganizerSettings: PageOrganizerSettingsModel = { showImageZoomingSlider: true };\n    ngOnInit(): void {\n        // ngOnInit function\n    }\n    public documentLoad(e: LoadEventArgs): void {\n        if(this.isInitialLoading){\n            this.pdfviewerControl.isPageOrganizerOpen = true;\n            this.isInitialLoading = false;\n        }\n        else{\n            this.pdfviewerControl.isPageOrganizerOpen = false;\n        }\n    }\n}\n"
    },
    {
      "target": "src/components/pdf-viewer-organize-pages/organize-pages.html",
      "content": "\n<div class=\"control-section\">\n    <div class=\"content-wrapper\">\n        <ejs-pdfviewer #pdfviewer id=\"pdfViewer\" [documentPath]='document' [resourceUrl]='resource' (documentLoad)='documentLoad($event)' [pageOrganizerSettings]='pageOrganizerSettings' style=\"height:640px;display:block\"></ejs-pdfviewer>\n    </div>\n</div>\n"
    }
  ]
}