interfaces.d.ts 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. /**
  2. * @interface
  3. */
  4. export class IL10n {
  5. /**
  6. * @returns {Promise<string>} - Resolves to the current locale.
  7. */
  8. getLanguage(): Promise<string>;
  9. /**
  10. * @returns {Promise<string>} - Resolves to 'rtl' or 'ltr'.
  11. */
  12. getDirection(): Promise<string>;
  13. /**
  14. * Translates text identified by the key and adds/formats data using the args
  15. * property bag. If the key was not found, translation falls back to the
  16. * fallback text.
  17. * @param {string} key
  18. * @param {object} args
  19. * @param {string} fallback
  20. * @returns {Promise<string>}
  21. */
  22. get(key: string, args: object, fallback: string): Promise<string>;
  23. /**
  24. * Translates HTML element.
  25. * @param {HTMLElement} element
  26. * @returns {Promise<void>}
  27. */
  28. translate(element: HTMLElement): Promise<void>;
  29. }
  30. /**
  31. * @interface
  32. */
  33. export class IPDFAnnotationLayerFactory {
  34. /**
  35. * @param {HTMLDivElement} pageDiv
  36. * @param {PDFPage} pdfPage
  37. * @param {AnnotationStorage} [annotationStorage] - Storage for annotation
  38. * data in forms.
  39. * @param {string} [imageResourcesPath] - Path for image resources, mainly
  40. * for annotation icons. Include trailing slash.
  41. * @param {boolean} renderForms
  42. * @param {IL10n} l10n
  43. * @param {boolean} [enableScripting]
  44. * @param {Promise<boolean>} [hasJSActionsPromise]
  45. * @param {Object} [mouseState]
  46. * @param {Promise<Object<string, Array<Object>> | null>}
  47. * [fieldObjectsPromise]
  48. * @returns {AnnotationLayerBuilder}
  49. */
  50. createAnnotationLayerBuilder(pageDiv: HTMLDivElement, pdfPage: any, annotationStorage?: any, imageResourcesPath?: string | undefined, renderForms?: boolean, l10n?: IL10n, enableScripting?: boolean | undefined, hasJSActionsPromise?: Promise<boolean> | undefined, mouseState?: Object | undefined, fieldObjectsPromise?: Promise<{
  51. [x: string]: Object[];
  52. } | null> | undefined): any;
  53. }
  54. /**
  55. * @interface
  56. */
  57. export class IPDFLinkService {
  58. /**
  59. * @type {number}
  60. */
  61. get pagesCount(): number;
  62. /**
  63. * @param {number} value
  64. */
  65. set page(arg: number);
  66. /**
  67. * @type {number}
  68. */
  69. get page(): number;
  70. /**
  71. * @param {number} value
  72. */
  73. set rotation(arg: number);
  74. /**
  75. * @type {number}
  76. */
  77. get rotation(): number;
  78. /**
  79. * @param {boolean} value
  80. */
  81. set externalLinkEnabled(arg: boolean);
  82. /**
  83. * @type {boolean}
  84. */
  85. get externalLinkEnabled(): boolean;
  86. /**
  87. * @param {string|Array} dest - The named, or explicit, PDF destination.
  88. */
  89. goToDestination(dest: string | any[]): Promise<void>;
  90. /**
  91. * @param {number|string} val - The page number, or page label.
  92. */
  93. goToPage(val: number | string): void;
  94. /**
  95. * @param {HTMLAnchorElement} link
  96. * @param {string} url
  97. * @param {boolean} [newWindow]
  98. */
  99. addLinkAttributes(link: HTMLAnchorElement, url: string, newWindow?: boolean | undefined): void;
  100. /**
  101. * @param dest - The PDF destination object.
  102. * @returns {string} The hyperlink to the PDF object.
  103. */
  104. getDestinationHash(dest: any): string;
  105. /**
  106. * @param hash - The PDF parameters/hash.
  107. * @returns {string} The hyperlink to the PDF object.
  108. */
  109. getAnchorUrl(hash: any): string;
  110. /**
  111. * @param {string} hash
  112. */
  113. setHash(hash: string): void;
  114. /**
  115. * @param {string} action
  116. */
  117. executeNamedAction(action: string): void;
  118. /**
  119. * @param {number} pageNum - page number.
  120. * @param {Object} pageRef - reference to the page.
  121. */
  122. cachePageRef(pageNum: number, pageRef: Object): void;
  123. /**
  124. * @param {number} pageNumber
  125. */
  126. isPageVisible(pageNumber: number): void;
  127. /**
  128. * @param {number} pageNumber
  129. */
  130. isPageCached(pageNumber: number): void;
  131. }
  132. /**
  133. * @interface
  134. */
  135. export class IPDFStructTreeLayerFactory {
  136. /**
  137. * @param {PDFPage} pdfPage
  138. * @returns {StructTreeLayerBuilder}
  139. */
  140. createStructTreeLayerBuilder(pdfPage: any): any;
  141. }
  142. /**
  143. * @interface
  144. */
  145. export class IPDFTextLayerFactory {
  146. /**
  147. * @param {HTMLDivElement} textLayerDiv
  148. * @param {number} pageIndex
  149. * @param {PageViewport} viewport
  150. * @param {boolean} enhanceTextSelection
  151. * @param {EventBus} eventBus
  152. * @param {TextHighlighter} highlighter
  153. * @returns {TextLayerBuilder}
  154. */
  155. createTextLayerBuilder(textLayerDiv: HTMLDivElement, pageIndex: number, viewport: any, enhanceTextSelection: boolean | undefined, eventBus: any, highlighter: any): any;
  156. }
  157. /**
  158. * @interface
  159. */
  160. export class IPDFXfaLayerFactory {
  161. /**
  162. * @param {HTMLDivElement} pageDiv
  163. * @param {PDFPage} pdfPage
  164. * @param {AnnotationStorage} [annotationStorage]
  165. * @param {Object} [xfaHtml]
  166. * @returns {XfaLayerBuilder}
  167. */
  168. createXfaLayerBuilder(pageDiv: HTMLDivElement, pdfPage: any, annotationStorage?: any, xfaHtml?: Object | undefined): any;
  169. }
  170. /**
  171. * @interface
  172. */
  173. export class IRenderableView {
  174. /** @type {function | null} */
  175. resume: Function | null;
  176. /**
  177. * @type {string} - Unique ID for rendering queue.
  178. */
  179. get renderingId(): string;
  180. /**
  181. * @type {RenderingStates}
  182. */
  183. get renderingState(): any;
  184. /**
  185. * @returns {Promise} Resolved on draw completion.
  186. */
  187. draw(): Promise<any>;
  188. }