Skip to main content

Viewer API

Viewer API predstavuje jadro aplikácie pracujúce s pdf.js API a implementuje funkcie na renderovanie a manipuláciu s dokumentom. Poskytuje high-level API, ktorá sprístupňuje tieto funkcionality ostatným komponentom.

Rendering

ViewerAPI.renderPage(options: PageOptions)

Volaním funkcie renderPage s argumentom options vyrenderuje stranu v zadefinovanom HTML Elemente typu Canvas.

interface RenderOptions {
pageNumber?: number
textLayer?: boolean
}

pageNumber - voliteľný atribút špecifikujúci, ktorá strana dokumentu sa má vyrenderovať. Ak nie je zadefinovaný, renderuje sa prvá strana dokumentu.

textLayer - voliteľný atribút špecifikujúci, či sa má vyrenderovať aj textová vrstva strany. Ak nie je zadefinovaný, východzie nastavenie renderuje stranu aj s textovou vrstvou.

ViewerAPI.nextPage()

Vyrenderuje stranu dokumentu, následujúcu po aktuálne vyrenderovanej strane ak je to možné. Ak už je vyrenderovaná posledná strana dokumentu, funkcia vráti false.

ViewerAPI.prevPage()

Podobne ako predošlá funkcia, jej volanie vyrenderuje predchádzajúcu stranu, ak je to možné, inak vráti false.

Viewer.getDocumentLength()

Volanie funkcie getDocumentLength vracia celé číslo, reprezentujúce počet strán v dokumente. Funkcia je vhodná na použitie pri navigácii v dokumente a paginácii.

Vyhľadávanie

ViewerAPI.search(options: SearchOptions)

Umožňuje full-textové hľadanie v textovom kontexte dokumentu. Funkcia vracia výsledky hľadania vo formáte zadefinovanom v rozhraní SearchResult.

interface SearchOptions {
pattern: string
currentPage?: boolean
caseSensitive?: boolean
matchWord?: boolean
}

pattern - povinný atribút, predstavuje hľadaný výraz, môže byť aj vo forme platného regulérneho výrazu

currentPage - voliteľný atribút, špecifikujúci, či sa má vyhľadávať len na aktuálnej vyrenderovanej strane, defaultne hľadá v celom dokumente

caseSensitive - voliteľný atribút, špecifikujúci, či sa má vyhľadávať v móde rozlišovania veľkých a malých písmen

matchWord - voliteľný atribút, špecifikujúci, či sa má vyhľadávať v móde, v ktorom výsledky vracajú len nájdené celé slová

interface SearchResult {
pattern: string
matchPreview: string
page: number
annotation: {
x: number
y: number
width: number
height: number
}
}

Výsledky hľadania funkcia vracia pole výsledkov vo formáte SearchResult definovanom v rozhraní vyššie. Každý výsledok obsahuje vyhľadávaný výraz, náhľad nájdeného textu, číslo strany, na ktorej sa výraz nachádza a pozícia tohto nájdeného výrazu, ktorú je potom možné použiť na zvýraznenie na vyrenderovanej strane.

ViewerAPI.renderFoundPattern(searchResult: SearchResult)

Funkcia, ktorá v dokumente zvýrazní konkrétny výraz. Ak sa výraz nachádza na odlišnej strane ako je momentálne vyrenderovaná, zavolá aj renderPage s konkrétnym číslom strany ešte pred vyrenderovaním zvýrazňovacieho elementu.

Manipulácia s dokumentom

ViewerAPI.zoom(value?: number)

Volaním funkcie zoom sa vyrenderovaná strana dokumentu priblíži na hodnotu priblíženia, špecifikovanú v argumente funkcie. Táto hodnota je voliteľná a ak nie je poskytnutá v argumente, dokument sa zväčší na najbližšiu vyššiu možnú hodnotu.

ViewerAPI.unzoom()

Funkcia unzoom slúži na resetovanie hodnoty priblíženia. Jej volaním sa nastaví hodnota priblíženia na 1.

Citácie

ViewerAPI.generateCitation(options: CitationOptions)

Volaním funkcie generateCitation Viewer vygeneruje podľa poskytnutých parametrov v argumente funkcie citáciu spĺňajúcu citačné normy. Umožňuje generovať aj citácie vybraného textu alebo strán. Na vygenerovanie sa použijú metadáta dokumentu, ktoré sú súčasťou dokumentového kontextu.

interface CitationOptions {
format: 'plain' | 'bibtex'
pages?: {
from: number
to: number
}
citedText?: string
}

format - prepínač, ktorý určuje aký typ citácie sa vygeneruje

pages - voliteľný parameter, špecifikujúci, ktoré konkrétne strany do citácie zahrnúť

citedText - voliteľný parameter, špecifikujúci konkrétny text, ktorý sa má do citácie zahrnúť

Export a zdieľanie

ViewerAPI.exportDocument(options: ExportOptions)

Dokument je možné exportovať pomocou funkcie exportDocument. Ten je po zavolaní pripravený na stiahnutie. Do argumentu funkcie je možné poslať formát exportovaného dokumentu a dokonca je možné vybrať, ktoré strany sa exportujú.

interface ExportOptions {
format: 'pdf'
pages?: {
from: number
to: number
} | number[]
}

format - prepínač, ktorý určuje v akom formáte sa vygeneruje export

pages - voliteľný parameter, umožňujúci vybrať interval alebo špecifikovať konkrétne strany, ktoré sa do exportu zahrnú

ViewerAPI.shareDocument(lifetime: number)

Volaním funkcie shareDocument sa spustí proces zdieľania dokumentu - vytvorí sa unikátna URL s platnosťou špecifikovanou v argumente funkcie. Ten sa následne zobrazí v dialógovom okne spolu s QR kódom tejto URL.

number - životnosť prístupovej URL v minútach, -1 pre URL s nekončiaciou platnosťou

Autor: Rastislav Balcerčík