_μΆμ λ¬Έμ μΌ λΏμ΄λ―λ‘ λ€λ₯Έ μ§λ¬Έμ΄λ ν λ‘ μ ν μ μμ΅λλ€. κ·Έκ²μ λν μλ‘μ΄ λ¬Έμ λ₯Ό μ½λ λ€._
μ΄κ²μ PDF μ°Έμ‘°(http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G11)μ 12.7μ₯μ λ°λ₯Έ λνν μμ(AcroForm) μ§μμ λν λ©ν λ¬Έμ μ λλ€. .2110737). μ¬κΈ°μλ #1076μμ μΆμ λλ μλͺ νλλ₯Ό μ μΈν λͺ¨λ μμ μμκ° ν¬ν¨λ©λλ€. λͺ©νλ https://github.com/mozilla/pdf.js/blob/master/test/pdfs/f1040.pdf.link λ₯Ό μμ ν λ λλ§νλ κ²λΏλ§ μλλΌ λ€λ₯Έ λ―Έν΄κ²° λ¬Έμ λ° PRμ ν΄κ²°νλ κ²μ λλ€.
μΌλ°μ μΈ
PDFJS.renderInteractiveForms
μ¬μ© μ κ±°(#7640)WidgetAnnotation
νλ μ΄λ¦ μμ± μ½λ 리ν©ν°λ§(#7775)appendToOperatorList
).ν μ€νΈ μμ ―
maxLen
λ° textAlignment
λ₯Ό μ΄κ· νκ³ μ΄μ λν λ¨μ ν
μ€νΈ(#7629)μ ν μμ ―
λ²νΌ μμ ―
μ΄κ²μ PDF μ°Έμ‘°(https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7)μ 8.6μ₯μ λ°λΌ λνν μμ(AcroForm) μ§μμ μΆμ νκΈ° μν λ©ν λ¬Έμ μ λλ€. pdf#page=671&zoom=auto,-246,244).
μ°¨μ΄μ μ΄ μλ κ²½μ°λ₯Ό λλΉνμ¬ μ΅μ λ²μ μ PDF μ¬μμ κΈ°λ°μΌλ‘ μμ νλ κ²μ΄ μ’μ΅λλ€. http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/ pdfs/PDF32000_2008.pdf#G11.2110737.
λν μ μ ν ν μ€νΈ λ²μλ₯Ό 보μ₯νκΈ° μν΄ "μΌλ°" TODO νλͺ©μ μΆκ°νλ κ²μ΄ μ’μ΅λλ€.
λ νλͺ© λͺ¨λ ν΄κ²°λμμ΅λλ€. κ°μ¬ν©λλ€!
λλ λν μ°λ¦¬κ° μ€μ λ‘ AcroForm
μ¬μ μ λ΄μ©μ ꡬ문 λΆμν΄μΌ νλ€κ³ μκ°ν©λλ€. κ·Έλ μ§ μμΌλ©΄ νμν λͺ¨λ κΈκΌ΄ 리μμ€λ₯Ό λ‘λν μ μκΈ° λλ¬Έμ
λλ€.
λΆλͺ
ν, μ°λ¦¬λ λμ€νλ μ΄ λ μ΄μ΄μμ μ¬μ©μ μ μ κΈκΌ΄μ μ¬μ©ν μ μμ§λ§ μ΅μν μ¬λ°λ₯Έ κΈκΌ΄ ν¨λ°λ¦¬(μ: λ³Όλ체/μ΄ν€λ¦μ²΄)λ₯Ό μ μΆνκ³ ν΄λΉ μ 보λ₯Ό λμ€νλ μ΄ λ μ΄μ΄μ μ λ¬ν μ μμ΄μΌ ν©λλ€.
λν μμμ μΈμνκΈ° μν΄ μ΄λ―Έ μ‘΄μ¬νλ appendToOperatorList
κΈ°λ₯μ νμ©(λλ ꡬμΆ)ν μ μμ§λ§ AcroForm
μ¬μ μ μλ κΈκΌ΄ 리μμ€κ° λ‘λλμ΄μΌ ν©λλ€.
μ°λ¦¬κ° μ§μνλ €κ³ μλν΄μΌ ν λ λ€λ₯Έ κ²μ λμ€νλ μ΄ λ μ΄μ΄μμ μ¬λ°λ₯Έ ν
μ€νΈ μμμ μ¬μ©νλ κ²μ
λλ€(Adobe Readerμμ f1040.pdf
μμ νλμ ν
μ€νΈκ° νλμμΈ λ°©λ²μ μ μνμμμ€). μ΄κ²μ μλ§λ λ μ’κ³ μμ ν Appearance
μ€νΈλ¦Ό μ§μκ³Ό κ΄λ ¨μ΄ μμ΅λλ€.
λ§μ§λ§μΌλ‘ μΌλ°μ μΈ μ§λ¬Έμ λλ€. λΆλΆμ μΈ(κ·Έλ¦¬κ³ μ μ 리λ) μ€ν¬λ¦½νΈ μ§μ μμ΄ μ€μ λ‘ μλ―Έ μλ λ°©μμΌλ‘ μμμ μ§μν μ μμ΅λκΉ?
μ’μ μ . λ°©κΈ μμ νλͺ© λͺ©λ‘μ μΆκ°νμ΅λλ€. AcroFormsλ μΌλ°μ μΌλ‘ μ±μ°κΈ° λ° μΈμλ§ νμνκΈ° λλ¬Έμ μ€ν¬λ¦½νΈ μ§μμ΄ μ λ§λ‘ νμνλ€κ³ μκ°νμ§ μμ΅λλ€. AFAIK μ€ν¬λ¦½νΈλ μμ κ°μ μνΈ μμ©μλ§ μ¬μ©λμ§λ§ κ°μ₯ λ§μ΄ μ¬μ©λλ κΈ°λ₯(μ: μμ μ¬μ€μ λλ μΈμλ₯Ό μν λ²νΌ λμ)μ μ§μ ꡬνν μ μμ΅λλ€. μ΄λ¬ν μ€ν¬λ¦½νΈ κΈ°λ₯μ΄ μΌλ§λ λ리 μ¬μ©λλμ§ νμΈν΄μΌ ν©λλ€.
νΈλ€ νλκ·Έ: μ¬λ¬ μ€ λ° μ½κΈ° μ μ©
μ°λ¦¬κ° μλνκ³ μ§μν΄μΌ ν λ€λ₯Έ νλκ·Έκ° μμ΅λλ€. ν κ°μ§ μλ μ
λ ₯ νλμμ λ¬Έμ μ¬μ΄μ κ°κ²©μ μ μ΄νλ comb
μ
λλ€. μ΄κ²μ μ€μ λ‘ f1040.pdf
μ λ λ²μ§Έ νμ΄μ§μμ μ¬μ©λλ©° "PIN(κ°μΈ μλ³ λ²νΈ)" νλλ₯Ό μ°Έμ‘°νμμμ€.
μ’μ μκ° κ°μ΅λλ€. λͺ©λ‘μ μΆκ°νμ΅λλ€.
fullName
μμ±μ λΉλνλ WidgetAnnotation
μ½λλ₯Ό μ 리νκ±°λ κ°μ ν μ μλμ§ νμΈνλ κ²λ μ’μ μκ°μΌ κ²μ
λλ€( https://github.com/mozilla/pdf.js μ°Έμ‘°). /blob/6c263c19946af23b723f148d9f05118971e18b36/src/core/annotation.js#L640 -L670.
λν WidgetAnnotation
μ κ΄λ ¨νμ¬ μ£Όμ μ¬μ μ V
νλͺ©μ λν΄ μ νμ λ°λΌ μꡬ μ¬νμ΄ λ€λ₯Ό μ μμΌλ―λ‘ _each_μμ data.fieldValue
λ₯Ό κ°μ Έμ μ ν¨μ±μ κ²μ¬νλ κ²μ΄ μ’μ΅λλ€. νΉμ WidgetAnnotation
νμ ν΄λμ€.
첫 λ²μ§Έ μμ μ μ΄μ λͺ©λ‘μ μμ΅λλ€. μ΄μ λν λͺ κ°μ§ μμ΄λμ΄κ° μμ΅λλ€. λλ νμ¬ μ ν μμ ― μ£Όμμ λ§λ¬΄λ¦¬νκ³ μλ ν¨μΉμμ λ λ²μ§Έ μμ μ μ°ΎμμΌλ―λ‘ κ±°κΈ°μμ λ€λ£° κ²μ λλ€.
μλ
νμΈμ @timvandermeij
μ΄ κΈ°λ₯μ μΈμ μ¬μ©ν μ μμ΅λκΉ? μ΄λ»κ² λμλ릴κΉμ?
μ°λ¦¬λ νμ¬ μ΄κ²μ ꡬννλ κ³Όμ μ μμ§λ§ μλ£λκΈ°κΉμ§ μκ°μ΄ 걸릴 ν° κΈ°λ₯μ
λλ€. μμ 체ν¬λ μμλ μ΄λ―Έ ꡬνλ μμλ₯Ό 보μ¬μ£Όκ³ λ€λ₯Έ μμμλ μ΄λ―Έ μμ
μ§ν μ€μΈ pull μμ²μ΄ μμΌλ―λ‘ μ΄ κΈ°λ₯μ κ³μ μ¬μ©νκ³ μμ΅λλ€. master
λΆκΈ°λ₯Ό μ¬μ©νκ³ renderInteractiveForms
맀κ°λ³μλ₯Ό true
μ€μ νμ¬ μμ λ‘κ² ν
μ€νΈνμμμ€. μμ§ μ€λΉλμ§ μμκΈ° λλ¬Έμ κΈ°λ³Έμ μΌλ‘ λΉνμ±νλμ΄ μμ΅λλ€.
ν κ°μ¬ν©λλ€. λμ§νΈ μλͺ μ λν΄ λ§μν΄ μ£Όμκ² μ΅λκΉ? μ΄ ν λ‘ μ€λ λ https://github.com/mozilla/pdf.js/issues/1076 μ λ°λΌ μ§ν μν©μ΄
μ΄κ²μ μ¬μ©μμ μν΄ λ³΄κ³ λμμ΅λλ€: soa-x λ 2012λ 1μ 13μΌμ μ΄ λ¬Έμ λ₯Ό μ΄μμ΅λλ€.
λ³΄κ³ λ μ§ κ±°μ 5λ μ΄ μ§λ¬λ€.
λκ΅°κ° μ΄λ―Έ ꡬνμ λ§μ λΆλΆμ μννμ΅λλ€.
viveksjainμ΄ 2μ 22μΌμ λκΈμ λ¨κ²Όμ΅λλ€.
@complience μλ
νμΈμ, μ λ https://github.com/viveksjain/pdf.js/tree/sig-verify-support μμ μμ
νλ κ°λ
μ¦λͺ
μ κ°μ§κ³ https://github.com/viveksjain/pdf.js.git μ μ¬μ©νμ¬ μλν΄ λ³Ό μ μμ΅λλ€
μ΄ μμ μ΄ μ΅μ λ²μ μ pdf.jsμ μΆκ°λμλμ§ μμλκΉ?
μ¬: https://github.com/mozilla/pdf.js/issues/7613#issuecomment -251692825
PDF νμΌμ μλͺ μ κΈ°λ³Έ AcroForm μ§μμ ꡬνκ³Ό λ€μ μ§κ΅νλ ν¬κ³ 볡μ‘ν μ£Όμ μ λλ€.
νμ¬ λ¬Έμ λ κΈ°λ³Έ AcroForm κΈ°λ₯ ꡬνμ λν μΆμ λ¬Έμ μΌ λΏμ΄λ©° μλͺ μ μ΄λ―Έ λ€λ₯Έ κ³³μμ μΆμ λκ³ μμ΅λλ€(ν΄λΉ κΈ°λ₯μ λν΄ λ Όμν΄μΌ νλ #1076μμ).
@lexcorp μ΄ λ¬Έμ μ λͺ©μ (κΈ°λ³Έ AcroForm κΈ°λ₯μ λν μ§μ μΆμ )μ μμ λ§μμμ€ .
λν μ΄μ κΈ°λ³Έμ μΌλ‘ _3_κ°μ λ€λ₯Έ λ¬Έμ μ λμΌν μ 보λ₯Ό κ²μνμ΅λλ€. μ΄λ¬ν λ°©μμΌλ‘ λ¬Έμ μΆμ κΈ°λ₯Ό μ€νΈνμ§ λ§μμμ€!
μλ
νμΈμ @timvandermeij @Snuffleupagus ,
AcroForm νλμ λν μ§μμ μΆκ°νλ μ루μ
μ΄ μ λ§ λ§μμ λλλ€. νμ¬ κ°λ° μ€μΈ μ±μμ μ΄λ¬ν κΈ°λ₯μ μ¬μ©ν κ³νμ
λλ€. νμΈλ λ±κ³Ό κ°μ λͺ¨λ μ νμ μμ νλμ λν μ§μμ μΆκ°νκ³ μ±μμ§ λ°μ΄ν°λ₯Ό XFDF νμΌ λλ κΈ°ν νμμΌλ‘ λ΄λ³΄λΌ μ μλ μμ λ μ§λ₯Ό μλ €μ£Όμλ©΄ μ λ§ κ°μ¬νκ² μ΅λλ€. κ°μ¬ ν΄μ.
@anujgeek https://github.com/mozilla/pdf.js/issues/7613#issuecomment -251699579μμ μ΄λ―Έ μΈκΈνλ―μ΄ μ΄κ²μ _tracking_ λ¬Έμ μ΄λ©° μ΄λ¬ν μ’ λ₯μ μΌλ°μ μΈ ν λ‘ μ μ ν©νμ§ μμ΅λλ€. λλ μ§λ¬Έ!
ꡬνν΄μΌ ν μλΉν μ΄λ €μ΄ TODOκ° λ§μ΄ λ¨μ μμ΅λλ€. μμ λΆμμ ν μ μλ λͺ©λ‘μ μ°Έμ‘°νμμμ€. λ°λΌμ μ΄ κΈ°λ₯μ΄ μμ ν ꡬνλ μκΈ° λλ κ²½μ°μλ μ΄λ€ μ’ λ₯μ μΆμ λ μ 곡νλ κ²μ _λΆκ°λ₯_ν©λλ€.
λν μ§κΈκΉμ§ λͺ¨λ μμ μ κΈ°κ³ μλ€μ μν΄ μνλμμΌλ©° Mozillaκ° Firefox(https://wiki.mozilla.org/Mortar_Project μ°Έμ‘°)μμ PDF.jsλ₯Ό λ체νλ€λ μ μ κ°μν λ μμ μ§μμ μλ£νλ λ° μκ°μ΄ 걸릴 κ°λ₯μ±μ΄ κ°μ₯ λμ΅λλ€.
μ΄κ²μ μΆμ λ¬Έμ (https://github.com/mozilla/pdf.js/issues/7613#issuecomment-251895091 μ°Έμ‘°)μ΄λ―λ‘ ν λ‘ μ΄λ μ§λ¬Έμ ββμ₯μκ° μλλλ€. μ§λ¬Έμ΄ μλ κ²½μ° IRCμ λ¬Έμνκ±°λ λ²κ·Έλ₯Ό λ°κ²¬ν κ²½μ° λ³λμ λ¬Έμ λ₯Ό μ μΆνμμμ€. κ°μ¬ ν΄μ.
_(μ¬μ©μκ° μ΄ κΈ°λ₯μ λν κ΄μ¬λλ₯Ό μΈ‘μ νκΈ° μν΄ λ°μ λ²νΌμ μ¬μ©ν μ μλλ‘ λνλ₯Ό μ κΈ ν΄μ νκ³ μμ§λ§ κ΄λ ¨ μλ λκΈμ μ κ±°λ©λλ€.)_
ν¨κ» μλ !
AcroForm μ±μ°κΈ°μ μ§ν μν©μ 무μμ
λκΉ?
μ¬μ©λ μμ https://www.irs.gov/pub/irs-pdf/f1040.pdf (λ° κΈ°ν)λ μ¬μ ν μλνμ§ μμ΅λλ€. μλλ©΄ κΈ°λ³Έμ μΌλ‘ ꡬμ±λμ΄ μμ§ μμ΅λκΉ?
νλ μ€μ , νλ μ§μ°κΈ°, 보λ΄κΈ° λ²νΌ μ§μκ³Ό κ°μ μΌλΆ κΈ°λ³Έ JavaScriptκ° μΈκΈλμμ΅λκΉ?
κ°μ¬ ν΄μ.
@Alex-DE-74 μμ λκΈ, νΉν https://github.com/mozilla/pdf.js/issues/7613#issuecomment -251895091 λ° https://github.com/mozilla/pdfλ₯Ό μ£Όμ κΉκ² μ½μΌμμμ€
λν #9261(μ¬κΈ°μ λ΅λ³μ΄ μ 곡λ¨)μμ μ΄λ¬ν μ§λ¬Έμ μ΄λ―Έ νμ΅λλ€. μ΄ μΆμ λ¬Έμ λ₯Ό κ·Έλ° μ’
λ₯μ μΌλ°μ μΈ ν λ‘ μμ λ²μ΄λλλ‘ λ
Έλ ₯ν©μλ€.
@μ€λν루νꡬμ€
μ€λ‘ν©λλ€. κ·Έλ¬λ μ μκ²λ μ΄λ€ νλͺ©μ΄ μ΄λ€ λ¨κ³λ₯Ό κ°μ§κ³ μλμ§ λ§μ μ£Όμ λ₯Ό ν΅ν΄ μΆμ ν μ μμ΅λλ€. κ·Έλ¦¬κ³ μν μ°Έμ‘°λ μ ν λμμ΄ λμ§ μμ΅λλ€. https://github.com/mozilla/pdf.js/projects/1μ μμ μμ νμ¬(μμ ν) μ§μλλ AcroFormsμ μ’
λ₯μ κ³ν μ€μΈ μ¬νμ΄ λͺ
νν©λλ€. λν λ§μ μ£Όμ κ° κ°±μ /보기λ₯Ό λ€λ£¨μ§λ§ μ±μ°κΈ°/νμΈ/μ ν/μ μΆ λ±μ λνν κΈ°λ₯μ λν λ¨μ΄λ μμ΅λλ€. λ°λΌμ μλ₯Ό λ€μ΄ μμ "ν
μ€νΈ μμ ―" λΆλΆμλ "ν
μ€νΈ μ
λ ₯"μ λν λ΄μ©μ΄ μμ΅λλ€. "AcroForm Dictionary"κ° νμ¬ μ ν ꡬ문 λΆμλμ§ μμ κ²½μ° μ΄λ»κ² μ€μ λ‘ μ μλν μ μμ΅λκΉ?
"μ¬μ©μ"κ° AcroFormμ μμ±κ³Ό μ 체/νΉμ /κ³ν μ§μ μνκ° λμ΄λ κ°λ¨ν νλ₯Ό 보λ λ° λμμ΄ λ μ μμ΅λλ€. (μ΄κ²μ΄ κ΅΅κ² νμλ μ΄μ =?!)
μΆμ : μ λ JS/HTML5 μ λ¬Έκ°κ° μλμ§λ§ λ€λ₯Έ μ¬μ΄νΈ(C#μΌλ‘ PDF λ§λ€κΈ°)μμ λ§μ μμ μ μννμΌλ©° λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄μλ μ΅μν©λλ€. μ΄ νλ‘μ νΈλ₯Ό κ°λ°νλ λ° λ λ§μ λνν μ§μμ μ 곡νκ³ λμμ μ£ΌκΈ° μν΄ νμ¬ μ½λλ₯Ό μ΄ν΄νλ €κ³ λ Έλ ₯νλ κ²μ΄ λμκ² κ°μΉκ° μμ΅λκΉ? μλλ©΄ νμ¬ μν€ν μ²λ₯Ό μ΄ν΄νλ λ° μμ²λ μκ°μ΄ 걸릴κΉμ?
λλ λΉμ μ μν΄ λλ΄ν μ€νμΌμ μ κ±°νμ΅λλ€. λλ μ΄κ³³μ΄ κ·Έλ° ν λ‘ μ μ₯μκ° μλμ λ€μ ν λ² κ°μ‘°νκ³ μΆμ΅λλ€. λ°°κ²½ μ 보λ₯Ό μ 곡ν μ μλλ‘ IRCμ κ°μ μ±λμ΄ λ μ μ ν κ²μ λλ€. μμ μμ±/μ μΆ/μΈμλ μ¬μ€ μμ 체ν¬λ°μ€ λͺ©λ‘μ μμ§λ§ μμ§ κ΅¬νλμ§ μμμ λΏμ λλ€. "ν μ€νΈ μμ ―" λΆλΆμ ν μ€νΈ μμ ―μ λ λλ§νλ κ²μΈλ°, μ΄λ μ λ ₯ν μ μλ μ λ ₯ νλλ₯Ό μλ―Έν©λλ€. λ¨μ λΆλΆμ μ λ ₯λ κ°μ μ μ₯νλ κ²μ λλ€. λꡬλ μ§ μ΄κ²μ ꡬννλ λ° λμμ μ€ μ μμ΅λλ€.
BTW: Chromeλ μμκ³Ό ν¨κ» PDFλ₯Ό μ μ₯ν μ μμ§λ§ ν΄κ²° λ°©λ²μ΄ μμ΅λλ€. μμμ κΈ°λ³Έμ μΌλ‘ λ λλ§λλ©° μμμ μΈμν μ μμΌλ©° μμ μ λ ₯μ ν¬ν¨νμ¬ κΈ°λ³Έμ μΌλ‘ PDFλ‘ μΈμν μλ μμ΅λλ€.
μ΄μ©λ©΄ μ΄κ²μ pdf.jsμλ μ μ© κ°λ₯νλ©° κΈ°μ‘΄ FFλ₯Ό PDFλ‘ μ μ₯ν μ μμ΅λλ€( https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/saveAsPDF )?
μ λ ₯ν μμ ν μ€νΈ νλ κ°μ μΈμνλ €κ³ pdf.jsλ₯Ό κ°μ§κ³ λκ³ μμ΅λλ€. μ λ ₯ν κ°μ μΈμμ© PDFλ‘ λ λλ§ν μ μλ κΈ°λ³Έμ μΈ μμ κ°λ μ¦λͺ μ΄ μμ΅λλ€. μ΄μ λ΄ μ κ·Ό λ°©μμ λν΄ λ Όμνκ³ λκ΅°κ° λ λ«κ±°λ λ κ°λ¨ν λ°©λ²μ μκ°ν΄ λλμ§ νμΈνκ³ μΆμ΅λλ€.
λ΄ μ κ·Ό λ°©μμμλ μμ
μ 맡μ μΆκ°νμ¬ μ
λ ₯λ κ°μ μμ
μ μμ
μ μ λ¬ν©λλ€. μ΄ μ§λλ νμ¬ 'μΈμ μ ' μ΄λ²€νΈμ μ±μμ Έ μμ΅λλ€.
'TextWidgetAnnotation'μ 'getOperatorList' λ©μλμμ κ°μ²΄ μ€νΈλ¦Όμ μ½κ³ 'Tj' μ°μ°μμ μ΄μ ν
μ€νΈ κ°μ μ κ°μΌλ‘ λ°κΏλλ€. μ΄κ²μ μλνμ§λ§ λ§μ λ¬Έμ κ° μμ΅λλ€. 첫 λ²μ§Έλ νλμ κ°μ΄ μκΈ° λλ¬Έμ μ€νΈλ¦Όμ 'Tj' μ°μ°μκ° μμΌλ©΄ μ€ν¨νλ€λ κ²μ
λλ€. λ λ²μ§Έλ 'μΌμͺ½' μ΄μΈμ μ λ ¬μ λν λ°°μΉκ° μλͺ»λλ€λ κ²μ
λλ€.
κ·Έλμ λ€μ μμ΄λμ΄λ νΌμμ λͺ¨λ κ°μ κ³μ°νλ μμ ν μλ‘μ΄ μ€νΈλ¦Όμ λ§λλ κ²μ
λλ€. μ΄κ²μ λ§μ μμ
μ΄ λ κ²μ΄λ―λ‘ λ¨Όμ μ΄ μ κ·Ό λ°©μμ λν΄ λ
Όμνκ³ μΆμμ΅λλ€.
μ΄λ―Έ μ μ€νΈλ¦Όμ λ§λ€κ³ κ°μ νμν μ μμ§λ§ λ€μ 'Td' μμ
μ μ€νμ
κ°μ λ¬Έμ κ° μμ΅λλ€. μ½λλ₯Ό μ‘°κΈ νν€μ³μ μ£Όμ΄μ§ Fontκ° μλ Stringμ λλΉμ λμ΄λ₯Ό κ³ λ €νμ¬ μ€νμ
X λ° Y μμΉλ₯Ό κ³μ°ν΄μΌ νλ€κ³ μκ°ν©λλ€. νλμ ν¬ν¨λ κΈκΌ΄μ λν FontDescriptorλ₯Ό μ°Ύμμ§λ§ μμ€ν
κΈκΌ΄μ λν΄μλ μ°Ύμ§ λͺ»νμ΅λλ€. κΈκΌ΄ μ€λͺ
μλ₯Ό μ¬μ©νλ©΄ κΈκΌ΄μ μμΉ λ° νκ° κ°μ΄ μμ΅λλ€. μ΄ κ°μΌλ‘ y μ€νμ
μ κ³μ°ν μ μλ€κ³ μκ°ν©λλ€. x μ€νμ
μ μΌμͺ½ μ λ ¬λ ν
μ€νΈμ λν΄ κ³ μ λμ§λ§ κ°μ΄λ° μ λ ¬ λλ μ€λ₯Έμͺ½ μ λ ¬λ ν
μ€νΈμ κ²½μ° κ³μ°ν΄μΌ ν©λλ€. . Font xRefμ width λ°°μ΄λ‘ μ΄ μμ
μ μνν μ μλ€κ³ μκ°νμ§λ§, μμ€ν
κΈκΌ΄μλ κ·Έλ° κ²μ΄ μμ΅λλ€. κ·Έλμ μΊλ²μ€μ measureText λ©μλλ₯Ό μ¬μ©ν΄μΌ νλ€κ³ μκ°ν©λλ€.
κ·Έλμ 보λ€μνΌ 'μκ°'μ΄ λ§λ€. κ·Έλ¬λ λ΄ μ κ·Ό λ°©μμ ꡬννκ³ ν μ€νΈνκΈ° μ μ λ€λ₯Έ μ¬λλ€μ΄ κ·Έκ²μ λν΄ μ΄λ»κ² μκ°νλμ§ μκ³ μΆμ΅λλ€.
μΌλ§ μ μ μ°λ¦¬λ μ΄ λ¬Έμ μ μ κ·Όν μ μλ λ°©λ²μ λν΄ λ Όμνμ΅λλ€. https://mozilla.logbot.info/pdfjs/20161219 λ₯Ό
λλ μ΄κ²μ΄ λλ¨Έμ§ λ Όλ¦¬κ° μ°λ¦¬λ₯Ό μν΄ λ¬΄κ±°μ΄ μΌμ νλλ‘ νκΈ° λλ¬Έμ λΉμ μ΄ μ€λͺ νλ κ²λ³΄λ€ λ€μ μ½λ€κ³ μκ°ν©λλ€. μ¬λ°λ₯Έ μ°μ°μ λͺ©λ‘μ μ 곡νκΈ°λ§ νλ©΄ λ©λλ€.
μ΄κ²μ μ°λ¦¬κ° μ¬λ¬ μμ λ¨κ³λ‘ ν΄κ²°ν΄μΌ νλ λ¬Έμ μ λλ€. 첫 λ²μ§Έ λ¨κ³λ #9822μμ @dmitryskey κ° μννλ μ£Όμ μ½λλ₯Ό λΉλκΈ°μμΌλ‘ λ§λλ κ²μ λλ€. λ€μ λ¨κ³λ μλ₯Ό λ€μ΄ κΈκΌ΄μ λν AcroForm μ¬μ μ ꡬ문 λΆμνκ³ λͺ¨λ λͺ¨μ μ 보μ λν΄ μ£Όμ μ¬μ μ κΈ°λ³Έ λͺ¨μ νλͺ©μ ꡬ문 λΆμνλ κ²μ λλ€. μ΄λ₯Ό μν΄ νκ°μλ₯Ό μ¬μ©νμ¬ μ 보λ₯Ό μ°μ°μ λͺ©λ‘μΌλ‘ κ°μ Έμ¬ μ μμΌλ©° μ£Όμ μ½λλ λΉλκΈ°μμ΄μ΄μΌ ν©λλ€. κ·Έλ° λ€μ κ° μ£Όμ μ νμ λν μΈμ μμ μ λͺ©λ‘μ λ§λ€ μ μμ΅λλ€.
μμ
λͺ©λ‘μ μ§μ λ§λ€κΉλ μκ°νμ§λ§ μ΄κ²μ λ΄ μ κ·Ό λ°©μλ³΄λ€ λ 볡μ‘ν©λλ€. 'BMC ... EMC'λ‘ pdf κ°μ²΄ μ€νΈλ¦Όμ μμ±νκ³ μ΄ μ€νΈλ¦Όμ νκ°μμκ² μ λ¬νλ©΄ μμ
λͺ©λ‘μ΄ μμ±λ©λλ€.
μμ
λͺ©λ‘ λ°°μ΄μ μ§μ μμ±νλ©΄ μ κ°μ²΄ μ€νΈλ¦Όμ μμ±ν λμ λμΌν λ¬Έμ κ° λ°μν©λλ€. κ·Έλ¬λ imho λ¬Έμμ΄μ λ§λ€κ³ objectstreamμΌλ‘ λ³ννλ κ²λ³΄λ€ oplistλ₯Ό λ§λλ κ²μ΄ λ 볡μ‘ν©λλ€. μ΄κ²μ μ΄λ―Έ λ΄ κ°λ
μ¦λͺ
μμ μλν©λλ€.
Opera/Chromeλ pdf.jsλ₯Ό μ¬μ©νκ³ μμ§λ§ Operaλ μμ λ°μ΄ν°λ₯Ό μΈμνκ³ μ¬μ©ν μ μμ΅λλ€. μ΄μ©λ©΄ κ±°κΈ°μ sth. μ¬μ¬μ©ν μ μμ΅λκΉ?
μ£Όλ‘ C++ μ½λμΈ PDFiumμ μ¬μ©ν©λλ€.
μλ νμΈμ, μ κ° μΌνλ νμ¬λ PDFJSλ₯Ό νμ©νκΈ° μμνμΌλ©° "νμ΄μ§κ° νμλμ§ μμ λ νμ΄μ§κ° νκ΄΄λ λ μ λ ₯ν κ° μ μ₯"μ΄ μλν΄μΌ νλ€κ³ λ€μμ΅λλ€. μ΄ μ€λ λκ° ν λ‘ νκΈ°μ μ ν©ν μ₯μμΈμ§ νμ€νμ§ μμ΅λλ€. @timvandermeij , λΉμ μ΄ μ΄ νλ‘μ νΈμ μ£Όμ λμΈμΈ κ² κ°μ΅λλ€. μ΄μ¨λ μ ν¬κ° κ·ν λλ μ§μ μ¬νμμ λμμ μ€ μ μλ μ¬λκ³Ό μ°λ½ν μ μμ΅λκΉ? μ΄ κΈ°λ₯μ ꡬννκΈ° μν μ λ΅μ΄ μμ§λ§ λ΄κ° νλ μΌμ΄ μ΄ λ¦¬ν¬μ§ν 리μ λ€μ λ©μΈλΌμΈμΌλ‘ ν¬ν¨λ μ μλμ§ νμΈνκ³ μΆμ΅λλ€. μ°λ¦¬λ λν μΌμ λ 빨리 λλ΄λ λ° λμμ΄λλ€λ©΄ μΌλΆ κΈ°λ₯ νμκΈμ νμνκ±°λ λ§λ€ μν₯μ΄ μμ΅λλ€.
μ΄ μμ μ μννλ λ°©λ²μ λν μμ΄λμ΄κ° μλ κ²½μ° λ³λμ λ¬Έμ λ₯Ό μ΄μ΄ λ Όμνλ κ²μ΄ κ°μ₯ μ’μ΅λλ€. μ£Όμ μ§λ¬Έμ μ λ ₯λ λ°μ΄ν°λ‘ 무μμ ν κ²μΈκ°μ λλ€. μΈμν λ μΊλ²μ€μ λ λλ§νμκ² μ΅λκΉ? FDF νμμΌλ‘ κ°μ λ€μ΄λ‘λνλ μ΅μ μ μ 곡νμκ² μ΅λκΉ? μ±μμ§ κ°μΌλ‘ μ PDF νμΌμ λ λλ§νμκ² μ΅λκΉ? λ±λ±. μ¬μ©μκ° κΈ°λνλ κ²κ³Ό λ€λ₯Έ PDF 리λκ° μννλ μμ μ λ°λΌ λ€λ¦ λλ€.
μ΄μ AcroForm μ§μμ΄ μλ£λκ³ νμ±νλμμΌλ―λ‘ λ«μ΅λλ€. λλ¨Έμ§ λ¬Έμ λ μ΄μ κ°λ³ λ¬Έμ μ μ μΆλκ³ 4-form-acroform
νκ·Έλ‘ μμ§λ©λλ€. https://github.com/mozilla/pdf.js/labels/4-form-acroformμ μ°Έμ‘°
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ μΆμ λ¬Έμ (https://github.com/mozilla/pdf.js/issues/7613#issuecomment-251895091 μ°Έμ‘°)μ΄λ―λ‘ ν λ‘ μ΄λ μ§λ¬Έμ ββμ₯μκ° μλλλ€. μ§λ¬Έμ΄ μλ κ²½μ° IRCμ λ¬Έμνκ±°λ λ²κ·Έλ₯Ό λ°κ²¬ν κ²½μ° λ³λμ λ¬Έμ λ₯Ό μ μΆνμμμ€. κ°μ¬ ν΄μ.
_(μ¬μ©μκ° μ΄ κΈ°λ₯μ λν κ΄μ¬λλ₯Ό μΈ‘μ νκΈ° μν΄ λ°μ λ²νΌμ μ¬μ©ν μ μλλ‘ λνλ₯Ό μ κΈ ν΄μ νκ³ μμ§λ§ κ΄λ ¨ μλ λκΈμ μ κ±°λ©λλ€.)_