2 <html dir=
"ltr" mozdisallowselectionprint
>
5 <meta name=
"viewport" content=
"width=device-width, initial-scale=1, maximum-scale=1">
6 <title>PDF.js viewer
</title>
8 <link rel=
"stylesheet" href=
"https://fastly.jsdelivr.net/npm/pdfjs-dist-viewer-min/build/minified/web/viewer.css">
11 <!-- This snippet is used in production (included from viewer.html) -->
12 <link rel=
"resource" type=
"application/l10n" href=
"https://fastly.jsdelivr.net/npm/pdfjs-dist-viewer-min/build/minified/web/locale/locale.properties">
13 <script src=
"https://fastly.jsdelivr.net/npm/pdfjs-dist/build/pdf.js"></script>
14 <script src=
"https://fastly.jsdelivr.net/npm/pdfjs-dist/build/pdf.worker.js"></script>
17 <script src=
"https://fastly.jsdelivr.net/gh/torappinfo/uweb/zh/searchurl/txt/pdfviewer.js"></script>
22 <div id=
"outerContainer">
24 <div id=
"sidebarContainer">
25 <div id=
"toolbarSidebar">
26 <div id=
"toolbarSidebarLeft">
27 <div class=
"splitToolbarButton toggled">
28 <button id=
"viewThumbnail" class=
"toolbarButton toggled" title=
"Show Thumbnails" tabindex=
"2" data-l10n-id=
"thumbs">
29 <span data-l10n-id=
"thumbs_label">Thumbnails
</span>
31 <button id=
"viewOutline" class=
"toolbarButton" title=
"Show Document Outline (double-click to expand/collapse all items)" tabindex=
"3" data-l10n-id=
"document_outline">
32 <span data-l10n-id=
"document_outline_label">Document Outline
</span>
34 <button id=
"viewAttachments" class=
"toolbarButton" title=
"Show Attachments" tabindex=
"4" data-l10n-id=
"attachments">
35 <span data-l10n-id=
"attachments_label">Attachments
</span>
37 <button id=
"viewLayers" class=
"toolbarButton" title=
"Show Layers (double-click to reset all layers to the default state)" tabindex=
"5" data-l10n-id=
"layers">
38 <span data-l10n-id=
"layers_label">Layers
</span>
43 <div id=
"toolbarSidebarRight">
44 <div id=
"outlineOptionsContainer" class=
"hidden">
45 <div class=
"verticalToolbarSeparator"></div>
47 <button id=
"currentOutlineItem" class=
"toolbarButton" disabled=
"disabled" title=
"Find Current Outline Item" tabindex=
"6" data-l10n-id=
"current_outline_item">
48 <span data-l10n-id=
"current_outline_item_label">Current Outline Item
</span>
53 <div id=
"sidebarContent">
54 <div id=
"thumbnailView">
56 <div id=
"outlineView" class=
"hidden">
58 <div id=
"attachmentsView" class=
"hidden">
60 <div id=
"layersView" class=
"hidden">
63 <div id=
"sidebarResizer"></div>
64 </div> <!-- sidebarContainer -->
66 <div id=
"mainContainer">
67 <div class=
"findbar hidden doorHanger" id=
"findbar">
68 <div id=
"findbarInputContainer">
69 <input id=
"findInput" class=
"toolbarField" title=
"Find" placeholder=
"Find in document…" tabindex=
"91" data-l10n-id=
"find_input">
70 <div class=
"splitToolbarButton">
71 <button id=
"findPrevious" class=
"toolbarButton findPrevious" title=
"Find the previous occurrence of the phrase" tabindex=
"92" data-l10n-id=
"find_previous">
72 <span data-l10n-id=
"find_previous_label">Previous
</span>
74 <div class=
"splitToolbarButtonSeparator"></div>
75 <button id=
"findNext" class=
"toolbarButton findNext" title=
"Find the next occurrence of the phrase" tabindex=
"93" data-l10n-id=
"find_next">
76 <span data-l10n-id=
"find_next_label">Next
</span>
81 <div id=
"findbarOptionsOneContainer">
82 <input type=
"checkbox" id=
"findHighlightAll" class=
"toolbarField" tabindex=
"94">
83 <label for=
"findHighlightAll" class=
"toolbarLabel" data-l10n-id=
"find_highlight">Highlight all
</label>
84 <input type=
"checkbox" id=
"findMatchCase" class=
"toolbarField" tabindex=
"95">
85 <label for=
"findMatchCase" class=
"toolbarLabel" data-l10n-id=
"find_match_case_label">Match case
</label>
87 <div id=
"findbarOptionsTwoContainer">
88 <input type=
"checkbox" id=
"findEntireWord" class=
"toolbarField" tabindex=
"96">
89 <label for=
"findEntireWord" class=
"toolbarLabel" data-l10n-id=
"find_entire_word_label">Whole words
</label>
90 <span id=
"findResultsCount" class=
"toolbarLabel hidden"></span>
93 <div id=
"findbarMessageContainer">
94 <span id=
"findMsg" class=
"toolbarLabel"></span>
96 </div> <!-- findbar -->
98 <div id=
"secondaryToolbar" class=
"secondaryToolbar hidden doorHangerRight">
99 <div id=
"secondaryToolbarButtonContainer">
100 <button id=
"secondaryPresentationMode" class=
"secondaryToolbarButton presentationMode visibleLargeView" title=
"Switch to Presentation Mode" tabindex=
"51" data-l10n-id=
"presentation_mode">
101 <span data-l10n-id=
"presentation_mode_label">Presentation Mode
</span>
104 <button id=
"secondaryOpenFile" class=
"secondaryToolbarButton openFile visibleLargeView" title=
"Open File" tabindex=
"52" data-l10n-id=
"open_file">
105 <span data-l10n-id=
"open_file_label">Open
</span>
108 <button id=
"secondaryPrint" class=
"secondaryToolbarButton print visibleMediumView" title=
"Print" tabindex=
"53" data-l10n-id=
"print">
109 <span data-l10n-id=
"print_label">Print
</span>
112 <button id=
"secondaryDownload" class=
"secondaryToolbarButton download visibleMediumView" title=
"Download" tabindex=
"54" data-l10n-id=
"download">
113 <span data-l10n-id=
"download_label">Download
</span>
116 <a href=
"#" id=
"secondaryViewBookmark" class=
"secondaryToolbarButton bookmark visibleSmallView" title=
"Current view (copy or open in new window)" tabindex=
"55" data-l10n-id=
"bookmark">
117 <span data-l10n-id=
"bookmark_label">Current View
</span>
120 <div class=
"horizontalToolbarSeparator visibleLargeView"></div>
122 <button id=
"firstPage" class=
"secondaryToolbarButton firstPage" title=
"Go to First Page" tabindex=
"56" data-l10n-id=
"first_page">
123 <span data-l10n-id=
"first_page_label">Go to First Page
</span>
125 <button id=
"lastPage" class=
"secondaryToolbarButton lastPage" title=
"Go to Last Page" tabindex=
"57" data-l10n-id=
"last_page">
126 <span data-l10n-id=
"last_page_label">Go to Last Page
</span>
129 <div class=
"horizontalToolbarSeparator"></div>
131 <button id=
"pageRotateCw" class=
"secondaryToolbarButton rotateCw" title=
"Rotate Clockwise" tabindex=
"58" data-l10n-id=
"page_rotate_cw">
132 <span data-l10n-id=
"page_rotate_cw_label">Rotate Clockwise
</span>
134 <button id=
"pageRotateCcw" class=
"secondaryToolbarButton rotateCcw" title=
"Rotate Counterclockwise" tabindex=
"59" data-l10n-id=
"page_rotate_ccw">
135 <span data-l10n-id=
"page_rotate_ccw_label">Rotate Counterclockwise
</span>
138 <div class=
"horizontalToolbarSeparator"></div>
140 <button id=
"cursorSelectTool" class=
"secondaryToolbarButton selectTool toggled" title=
"Enable Text Selection Tool" tabindex=
"60" data-l10n-id=
"cursor_text_select_tool">
141 <span data-l10n-id=
"cursor_text_select_tool_label">Text Selection Tool
</span>
143 <button id=
"cursorHandTool" class=
"secondaryToolbarButton handTool" title=
"Enable Hand Tool" tabindex=
"61" data-l10n-id=
"cursor_hand_tool">
144 <span data-l10n-id=
"cursor_hand_tool_label">Hand Tool
</span>
147 <div class=
"horizontalToolbarSeparator"></div>
149 <button id=
"scrollVertical" class=
"secondaryToolbarButton scrollModeButtons scrollVertical toggled" title=
"Use Vertical Scrolling" tabindex=
"62" data-l10n-id=
"scroll_vertical">
150 <span data-l10n-id=
"scroll_vertical_label">Vertical Scrolling
</span>
152 <button id=
"scrollHorizontal" class=
"secondaryToolbarButton scrollModeButtons scrollHorizontal" title=
"Use Horizontal Scrolling" tabindex=
"63" data-l10n-id=
"scroll_horizontal">
153 <span data-l10n-id=
"scroll_horizontal_label">Horizontal Scrolling
</span>
155 <button id=
"scrollWrapped" class=
"secondaryToolbarButton scrollModeButtons scrollWrapped" title=
"Use Wrapped Scrolling" tabindex=
"64" data-l10n-id=
"scroll_wrapped">
156 <span data-l10n-id=
"scroll_wrapped_label">Wrapped Scrolling
</span>
159 <div class=
"horizontalToolbarSeparator scrollModeButtons"></div>
161 <button id=
"spreadNone" class=
"secondaryToolbarButton spreadModeButtons spreadNone toggled" title=
"Do not join page spreads" tabindex=
"65" data-l10n-id=
"spread_none">
162 <span data-l10n-id=
"spread_none_label">No Spreads
</span>
164 <button id=
"spreadOdd" class=
"secondaryToolbarButton spreadModeButtons spreadOdd" title=
"Join page spreads starting with odd-numbered pages" tabindex=
"66" data-l10n-id=
"spread_odd">
165 <span data-l10n-id=
"spread_odd_label">Odd Spreads
</span>
167 <button id=
"spreadEven" class=
"secondaryToolbarButton spreadModeButtons spreadEven" title=
"Join page spreads starting with even-numbered pages" tabindex=
"67" data-l10n-id=
"spread_even">
168 <span data-l10n-id=
"spread_even_label">Even Spreads
</span>
171 <div class=
"horizontalToolbarSeparator spreadModeButtons"></div>
173 <button id=
"documentProperties" class=
"secondaryToolbarButton documentProperties" title=
"Document Properties…" tabindex=
"68" data-l10n-id=
"document_properties">
174 <span data-l10n-id=
"document_properties_label">Document Properties…
</span>
177 </div> <!-- secondaryToolbar -->
179 <div class=
"toolbar">
180 <div id=
"toolbarContainer">
181 <div id=
"toolbarViewer">
182 <div id=
"toolbarViewerLeft">
183 <button id=
"sidebarToggle" class=
"toolbarButton" title=
"Toggle Sidebar" tabindex=
"11" data-l10n-id=
"toggle_sidebar" aria-expanded=
"false" aria-controls=
"sidebarContainer">
184 <span data-l10n-id=
"toggle_sidebar_label">Toggle Sidebar
</span>
186 <div class=
"toolbarButtonSpacer"></div>
187 <button id=
"viewFind" class=
"toolbarButton" title=
"Find in Document" tabindex=
"12" data-l10n-id=
"findbar" aria-expanded=
"false" aria-controls=
"findbar">
188 <span data-l10n-id=
"findbar_label">Find
</span>
190 <div class=
"splitToolbarButton hiddenSmallView">
191 <button class=
"toolbarButton pageUp" title=
"Previous Page" id=
"previous" tabindex=
"13" data-l10n-id=
"previous">
192 <span data-l10n-id=
"previous_label">Previous
</span>
194 <div class=
"splitToolbarButtonSeparator"></div>
195 <button class=
"toolbarButton pageDown" title=
"Next Page" id=
"next" tabindex=
"14" data-l10n-id=
"next">
196 <span data-l10n-id=
"next_label">Next
</span>
199 <input type=
"number" id=
"pageNumber" class=
"toolbarField pageNumber" title=
"Page" value=
"1" size=
"4" min=
"1" tabindex=
"15" data-l10n-id=
"page" autocomplete=
"off">
200 <span id=
"numPages" class=
"toolbarLabel"></span>
202 <div id=
"toolbarViewerRight">
203 <button id=
"presentationMode" class=
"toolbarButton presentationMode hiddenLargeView" title=
"Switch to Presentation Mode" tabindex=
"31" data-l10n-id=
"presentation_mode">
204 <span data-l10n-id=
"presentation_mode_label">Presentation Mode
</span>
207 <button id=
"openFile" class=
"toolbarButton openFile hiddenLargeView" title=
"Open File" tabindex=
"32" data-l10n-id=
"open_file">
208 <span data-l10n-id=
"open_file_label">Open
</span>
211 <button id=
"print" class=
"toolbarButton print hiddenMediumView" title=
"Print" tabindex=
"33" data-l10n-id=
"print">
212 <span data-l10n-id=
"print_label">Print
</span>
215 <button id=
"download" class=
"toolbarButton download hiddenMediumView" title=
"Download" tabindex=
"34" data-l10n-id=
"download">
216 <span data-l10n-id=
"download_label">Download
</span>
218 <a href=
"#" id=
"viewBookmark" class=
"toolbarButton bookmark hiddenSmallView" title=
"Current view (copy or open in new window)" tabindex=
"35" data-l10n-id=
"bookmark">
219 <span data-l10n-id=
"bookmark_label">Current View
</span>
222 <div class=
"verticalToolbarSeparator hiddenSmallView"></div>
224 <button id=
"secondaryToolbarToggle" class=
"toolbarButton" title=
"Tools" tabindex=
"36" data-l10n-id=
"tools" aria-expanded=
"false" aria-controls=
"secondaryToolbar">
225 <span data-l10n-id=
"tools_label">Tools
</span>
228 <div id=
"toolbarViewerMiddle">
229 <div class=
"splitToolbarButton">
230 <button id=
"zoomOut" class=
"toolbarButton zoomOut" title=
"Zoom Out" tabindex=
"21" data-l10n-id=
"zoom_out">
231 <span data-l10n-id=
"zoom_out_label">Zoom Out
</span>
233 <div class=
"splitToolbarButtonSeparator"></div>
234 <button id=
"zoomIn" class=
"toolbarButton zoomIn" title=
"Zoom In" tabindex=
"22" data-l10n-id=
"zoom_in">
235 <span data-l10n-id=
"zoom_in_label">Zoom In
</span>
238 <span id=
"scaleSelectContainer" class=
"dropdownToolbarButton">
239 <select id=
"scaleSelect" title=
"Zoom" tabindex=
"23" data-l10n-id=
"zoom">
240 <option id=
"pageAutoOption" title=
"" value=
"auto" selected=
"selected" data-l10n-id=
"page_scale_auto">Automatic Zoom
</option>
241 <option id=
"pageActualOption" title=
"" value=
"page-actual" data-l10n-id=
"page_scale_actual">Actual Size
</option>
242 <option id=
"pageFitOption" title=
"" value=
"page-fit" data-l10n-id=
"page_scale_fit">Page Fit
</option>
243 <option id=
"pageWidthOption" title=
"" value=
"page-width" data-l10n-id=
"page_scale_width">Page Width
</option>
244 <option id=
"customScaleOption" title=
"" value=
"custom" disabled=
"disabled" hidden=
"true"></option>
245 <option title=
"" value=
"0.5" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
50 }'
>50%
</option>
246 <option title=
"" value=
"0.75" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
75 }'
>75%
</option>
247 <option title=
"" value=
"1" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
100 }'
>100%
</option>
248 <option title=
"" value=
"1.25" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
125 }'
>125%
</option>
249 <option title=
"" value=
"1.5" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
150 }'
>150%
</option>
250 <option title=
"" value=
"2" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
200 }'
>200%
</option>
251 <option title=
"" value=
"3" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
300 }'
>300%
</option>
252 <option title=
"" value=
"4" data-l10n-id=
"page_scale_percent" data-l10n-args='{
"scale":
400 }'
>400%
</option>
257 <div id=
"loadingBar">
258 <div class=
"progress">
259 <div class=
"glimmer">
266 <div id=
"viewerContainer" tabindex=
"0">
267 <div id=
"viewer" class=
"pdfViewer"></div>
270 <div id=
"errorWrapper" hidden='true'
>
271 <div id=
"errorMessageLeft">
272 <span id=
"errorMessage"></span>
273 <button id=
"errorShowMore" data-l10n-id=
"error_more_info">
276 <button id=
"errorShowLess" data-l10n-id=
"error_less_info" hidden='true'
>
280 <div id=
"errorMessageRight">
281 <button id=
"errorClose" data-l10n-id=
"error_close">
285 <div class=
"clearBoth"></div>
286 <textarea id=
"errorMoreInfo" hidden='true'
readonly=
"readonly"></textarea>
288 </div> <!-- mainContainer -->
290 <div id=
"overlayContainer" class=
"hidden">
291 <div id=
"passwordOverlay" class=
"container hidden">
294 <p id=
"passwordText" data-l10n-id=
"password_label">Enter the password to open this PDF file:
</p>
297 <input type=
"password" id=
"password" class=
"toolbarField">
299 <div class=
"buttonRow">
300 <button id=
"passwordCancel" class=
"overlayButton"><span data-l10n-id=
"password_cancel">Cancel
</span></button>
301 <button id=
"passwordSubmit" class=
"overlayButton"><span data-l10n-id=
"password_ok">OK
</span></button>
305 <div id=
"documentPropertiesOverlay" class=
"container hidden">
308 <span data-l10n-id=
"document_properties_file_name">File name:
</span> <p id=
"fileNameField">-
</p>
311 <span data-l10n-id=
"document_properties_file_size">File size:
</span> <p id=
"fileSizeField">-
</p>
313 <div class=
"separator"></div>
315 <span data-l10n-id=
"document_properties_title">Title:
</span> <p id=
"titleField">-
</p>
318 <span data-l10n-id=
"document_properties_author">Author:
</span> <p id=
"authorField">-
</p>
321 <span data-l10n-id=
"document_properties_subject">Subject:
</span> <p id=
"subjectField">-
</p>
324 <span data-l10n-id=
"document_properties_keywords">Keywords:
</span> <p id=
"keywordsField">-
</p>
327 <span data-l10n-id=
"document_properties_creation_date">Creation Date:
</span> <p id=
"creationDateField">-
</p>
330 <span data-l10n-id=
"document_properties_modification_date">Modification Date:
</span> <p id=
"modificationDateField">-
</p>
333 <span data-l10n-id=
"document_properties_creator">Creator:
</span> <p id=
"creatorField">-
</p>
335 <div class=
"separator"></div>
337 <span data-l10n-id=
"document_properties_producer">PDF Producer:
</span> <p id=
"producerField">-
</p>
340 <span data-l10n-id=
"document_properties_version">PDF Version:
</span> <p id=
"versionField">-
</p>
343 <span data-l10n-id=
"document_properties_page_count">Page Count:
</span> <p id=
"pageCountField">-
</p>
346 <span data-l10n-id=
"document_properties_page_size">Page Size:
</span> <p id=
"pageSizeField">-
</p>
348 <div class=
"separator"></div>
350 <span data-l10n-id=
"document_properties_linearized">Fast Web View:
</span> <p id=
"linearizedField">-
</p>
352 <div class=
"buttonRow">
353 <button id=
"documentPropertiesClose" class=
"overlayButton"><span data-l10n-id=
"document_properties_close">Close
</span></button>
357 <div id=
"printServiceOverlay" class=
"container hidden">
360 <span data-l10n-id=
"print_progress_message">Preparing document for printing…
</span>
363 <progress value=
"0" max=
"100"></progress>
364 <span data-l10n-id=
"print_progress_percent" data-l10n-args='{
"progress":
0 }'
class=
"relative-progress">0%
</span>
366 <div class=
"buttonRow">
367 <button id=
"printCancel" class=
"overlayButton"><span data-l10n-id=
"print_progress_close">Cancel
</span></button>
371 </div> <!-- overlayContainer -->
373 </div> <!-- outerContainer -->
374 <div id=
"printContainer"></div>