PDF νμΌ μ΄κΈ° 맀κ°λ³μ(λ²μ 9.0) (λ° RFC 8118 μ°Έμ‘°)μ
viewrect=_left_,_top_,_wd_,_ht_
λ¬Έμ νμ μ κ΄κ³μμ΄ 0,0μ΄ νμλλ νμ΄μ§μ μΌμͺ½ μλ¨ λͺ¨μ리λ₯Ό λνλ΄λ μ’νκ³μμ λΆλ μμμ λλ μ μ κ°μ μ¬μ©νμ¬ λ³΄κΈ° μ¬κ°νμ μ€μ ν©λλ€.
PDF URL μ‘°κ° μλ³μμ viewrect
맀κ°λ³μκ° νμ¬ μ§μλμ§ μλ κ² κ°μ΅λλ€. νμΈνκΈ° μν΄ λ€μκ³Ό κ°μ΄ ν
μ€νΈνμ΅λλ€.
ꡬμ±:
λ¬Έμ λ₯Ό μ¬ννλ λ¨κ³:
npm install
λ° gulp server
λ₯Ό μ€νν λ€μ λ·°μ΄λ₯Ό νμ΄μ§ ν¬κΈ°κ° 8.5" x 11"μΈ PDFλ‘ μ΄λν©λλ€(μ: http://localhost:8888/web/viewer. html?file=%2Ftest%2Fpdfs%2Ftracemonkey.pdf).#page=1&viewrect=72,72,288,432
λ₯Ό μΆκ°νκ³ νμ΄μ§λ₯Ό μλ‘κ³ μΉ¨ν©λλ€.μμλλ λμμ 무μμ λκΉ?
λ·°μ΄λ νμ΄μ§μ μλ¨μμ 1", νμ΄μ§ μΌμͺ½ κ°μ₯μ리μμ 1" μ€νμ λ (λλ΅) 4" x 6" μ§μ¬κ°νμΌλ‘ νλν΄μΌ ν©λλ€.
무μμ΄ μλͺ»λμλμ?
PDF JSκ° viewrect
μ§μνμ§ μκΈ° λλ¬Έμ λ·°ν¬νΈκ° μμλλ‘ λ³νλμ§ μμμ΅λλ€.
λλ λ¬λ Έλ€
$ git grep viewrect
0κ°μ κ²°κ³Όλ₯Ό μ»μκ³ GitHubμμ λ€μ κ²μμ μννλλ° λ λ€ μ무 κ²λ λ°ννμ§ μμμ΅λλ€.
μλ
νμΈμ,
μ λ μ¬κΈ°μμ μλ‘ κ³ μΉ λ¬Έμ λ₯Ό μ°Ύκ³ μμΌλ©° λκ΅°κ°κ° μ΄λ―Έ λ¬Έμ λ₯Ό ν΄κ²°νμ§ μλ ν μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκ³ μΆμ΅λλ€. κ·Έλ¦¬κ³ viewRectμ λν λ¬Έμ λ μ½μλλ° wdμ hκ° λ¬΄μμ λ§νλμ§ μ λͺ¨λ₯΄κ² μ΅λλ€.
μ무λ κ·Έ wdμ hμ λν΄ μλ €μ€ μ μμ΅λκΉ? 미리 κ°μ¬λ립λλ€.
μμ λ‘κ² μμ
νμΈμ. wd
λ "λλΉ"μ΄κ³ ht
λ "λμ΄"μ
λλ€.
@AndrewMyintλ , μλ
νμΈμ, μ λ (μλͺ» λͺ
λͺ
λ) " zoom
" 맀κ°λ³μμ νμ¬ κ΅¬νμ μλͺ»λ λμμ λ¬Έμννλ μ΄ λ¬Έμ μ κ΄λ ¨λ λͺ κ°μ§ λ¬Έμ λ₯Ό μ§μ νκ³ μΆμμ΅λλ€. https://github .com/mozilla/pdf.js/issues/10773 λ° https://github.com/mozilla/pdf.js/issues/2843.
@markmatney μκ² κ°μ¬ν©λλ€. zoom
" 맀κ°λ³μκ° Fit
μΈμλ₯Ό μ²λ¦¬νλ λ°λ©΄ " view
"μμ μ²λ¦¬ν΄μΌ νλ€λ μ¬μ€μ λλμ΅λλ€. λ¬Έμ μ λ°λ₯Έ 맀κ°λ³μ .
@markmatney μ κ° (left, top, scale, Fit, ...)
μ κ°μ μΈμλ‘ μ 곡ν λͺ¨λ κ°μ΄ BaseViewer.scrollPageIntoView
μμ μ¬μ©λκ³ μμ΅λλ€. κ·Έλ¦¬κ³ scrollPageIntoView
μλ λ§μ μ€μμΉ μΌμ΄μ€ (Fit, FitB, FitH,......)
μ²λ¦¬κ° μμ΅λλ€. κ·Έλ¦¬κ³ λ΄κ° μ°Ύμ ν₯λ―Έλ‘μ΄ μ¬λ‘ μ€ νλλ FitR
μΈλ° documentation μμ FitR
μΈμμ‘°μ°¨ λ³Ό μ μμ΅λλ€.
κ·Έλ¬λ URL μ£Όμ νμμ€μ #zoom=FitR,72,72,288,432
λ₯Ό μΆκ°νλ©΄ " FitR
"κ° " viewrect
" λμμ μμ±νλ κ² κ°μ΅λλ€.
μ΄κ²μ΄ viewrect
λν΄ μμλλ λμμΈμ§ νμΈν μ μμ΅λκΉ? κ°μ¬ν©λλ€.
μ, BaseViewer.scrollPageIntoView
λ μ΄λ¬ν λͺ¨λ μΈμλ₯Ό μ΄ν΄λ³Έ λ€μ μ΄λ₯Ό κΈ°λ°μΌλ‘ λ·°ν¬νΈλ₯Ό μ΄λ»κ²λ λ³ννλ λ°©λ²μ
λλ€.
λν μ²μμ μ΄κ²μ μ‘°μ¬νμ λ FitR
λ₯Ό λ³Έ κΈ°μ΅μ΄ μμ΅λλ€. μ΄κ²μ Fit*
μΈμμ λλ¨Έμ§μ ν¨κ» d30fac0 (2011λ
9μ 4μΌ)μ master
μ λμ
λμμΌλ©° PDF μ°Έμ‘° μ¬μμ μ μλμ΄ μμ΅λλ€. "PDF νμΌ μ΄κΈ°λ₯Ό μν 맀κ°λ³μ" μ¬μμμ μλ΅λ μ΄μ (λλ κ·Έ λ¬Έμ μ λν΄ λ³λμ μ¬μμ΄ λ κ° μλ μ΄μ )κ° νμ€νμ§ μμ΅λλ€.
μ΄μ¨λ viewrect
λ FitR
μ λ€λ₯΄κ² ꡬνλμ΄μΌ νλ€λ κ°ν μκ²¬μ΄ μμ΅λλ€. μ΄κ²μ νμ€ν λ
Όμμ μ¬μ§κ° μμ§λ§:
FitR
μ λ¬λ¦¬ κ²°κ³Ό λ³΄κΈ°κ° μ¬μ©μμ μΉ λΈλΌμ°μ μ°½ ν¬κΈ°μ μμ‘΄νμ§ μλ viewrect
ꡬνμ λ³΄κ³ μΆμ΅λλ€. λ΄κ° μλ―Ένλ λ°λ₯Ό λ³΄λ €λ©΄ https://mozilla.github.io/pdf.js/web/viewer.html#zoom =FitR,0,0,144,144λ‘ μ΄λ
[_page_ /FitR _left_ _bottom_ _right_ _top_]
_page_μ μν΄ μ§μ λ νμ΄μ§λ₯Ό νμν©λλ€. κ·Έ λ΄μ©μ μ’ν [...]μ μν΄ μ§μ λ μ¬κ°νμ λ§κ² μ°½ [...]μ μμ ν λ§λλ‘ νλλ©λλ€. νμν μν λ° μμ§ νλ κ³μκ° λ€λ₯Έ κ²½μ°, λ μμ κ²μ μ¬μ©νμμμ€. λ [...]
"PDF νμΌ μ΄κΈ°λ₯Ό μν 맀κ°λ³μ"λ viewrect
ν¨μ¬ λ λμ¨νκ² μ μν©λλ€(μ μλ μ΄ λ¬Έμ μ λν μμ μ£Όμ μ°Έμ‘°). λΈλΌμ°μ μ°½ ν¬κΈ°μ κ΄κ³μμ΄ λμΌν μμμ νμνλ ꡬνμ λ³΄κ³ μΆμ΅λλ€. κ·Έλ¬λ©΄ μ§μ λ μμμ _μΈλΆ_ λͺ¨λ κ²μ΄ μ΄μ μ΄ λ§μ§ μκ² λ©λλ€("νμμΌλ‘ νμλ¨" λλ "κ²κ² νμλ¨"). λ΄κ° λκ°λ₯Ό λμΉκ³ μμ§ μλ ν, κ·Έλ¬ν ꡬνμ μ¬μ ν ββμ¬μμ μ€μν©λλ€.
λ΄ μ견μ μ½μΌλ©΄μ FitR
μ PDFjs ꡬνμ΄ PDF μ°Έμ‘° μ¬μκ³Ό λ€λ₯΄λ€λ κ²μ κΉ¨λ¬μμ΅λλ€. μ¬κ°νμ _left,bottom,right,top_μΌλ‘ ν΄μλμ΄μΌ ν λ _x,y,w,h_λ‘ ν΄μλ©λλ€.
κ°μ₯ μ μ©ν λκΈ
μμ λ‘κ² μμ νμΈμ.
wd
λ "λλΉ"μ΄κ³ht
λ "λμ΄"μ λλ€.