Pdf.js: λŒ€ν™”ν˜• 양식(AcroForm) 지원

에 λ§Œλ“  2016λ…„ 09μ›” 07일  Β·  28μ½”λ©˜νŠΈ  Β·  좜처: mozilla/pdf.js

_좔적 문제일 λΏμ΄λ―€λ‘œ λ‹€λ₯Έ μ§ˆλ¬Έμ΄λ‚˜ 토둠을 ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 그것에 λŒ€ν•œ μƒˆλ‘œμš΄ 문제λ₯Ό μ—½λ‹ˆ λ‹€._

이것은 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을 ν•΄κ²°ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

일반적인

  • [x] 폼 μš”μ†Œ κ΅¬ν˜„μ„ μœ„ν•œ μ½”μ–΄ 및 λ””μŠ€ν”Œλ ˆμ΄ λ ˆμ΄μ–΄ μ€€λΉ„(#7596)
  • [x] μ°Έμ‘° ν…ŒμŠ€νŠΈ(#7602)
  • [x] κΈ°λ³Έ μ„€μ •(#7602)
  • [x] μ „μ—­ PDFJS.renderInteractiveForms μ‚¬μš© 제거(#7640)
  • [x] WidgetAnnotation ν•„λ“œ 이름 생성 μ½”λ“œ λ¦¬νŒ©ν„°λ§(#7775)
  • [x] 주석이 λ Œλ”λ§λ˜λŠ” μœ„μΉ˜λ₯Ό λ¦¬νŒ©ν„°λ§ν•˜κ±°λ‚˜ λͺ…ν™•νžˆ ν•©λ‹ˆλ‹€.

    • λŒ€λΆ€λΆ„μ€ λ””μŠ€ν”Œλ ˆμ΄ λ ˆμ΄μ–΄μ— μžˆμ§€λ§Œ λͺ¨μ–‘ 슀트림이 μžˆλŠ” ν…μŠ€νŠΈ μœ„μ ― 주석은 μ½”μ–΄ λ ˆμ΄μ–΄μ—μ„œ λ Œλ”λ§λ˜μ–΄ ν˜Όλž€μ„ μ•ΌκΈ°ν•©λ‹ˆλ‹€...

  • [x] μ™Έλͺ¨
  • [x] νŽ˜μ΄μ§€κ°€ 보이지 μ•Šμ„ λ•Œ νŽ˜μ΄μ§€κ°€ 파괴될 λ•Œ μž…λ ₯된 κ°’ μ €μž₯
  • [x] μž…λ ₯된 κ°’ 인쇄

    • HTML μš”μ†Œλ₯Ό μΈμ‡„ν•˜κ±°λ‚˜ λ‚΄μš©μ„ μΊ”λ²„μŠ€μ— λ Œλ”λ§ν•©λ‹ˆλ‹€( appendToOperatorList ).

  • [x] 기본적으둜 ν™œμ„±ν™”
  • [x] 예제 μ—…λ°μ΄νŠΈ(#8030)
  • [x] Firefox κΈ°λ³Έ 섀정을 μΆ”κ°€ν•˜μ—¬ 양식 ν™œμ„±ν™”/λΉ„ν™œμ„±ν™”(https://bugzilla.mozilla.org/show_bug.cgi?id=1652145)

ν…μŠ€νŠΈ μœ„μ ―

  • [x] ν•œ 쀄 ν•„λ“œ λ Œλ”λ§(#7602)
  • [x] ν•Έλ“€ μ΅œλŒ€ 길이(#7622)
  • [x] ν•Έλ“€ ν”Œλž˜κ·Έ: μ—¬λŸ¬ 쀄 및 읽기 μ „μš©(#7633)
  • [x] ν•Έλ“€ ν”Œλž˜κ·Έ: λΉ—(#7649)
  • [x] ν•Έλ“€ μ •λ ¬(#7622)
  • [x] μ½”μ–΄ λ ˆμ΄μ–΄μ—μ„œ maxLen 및 textAlignment λ₯Ό μ‚΄κ· ν•˜κ³  이에 λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ(#7629)

선택 μœ„μ ―

  • [x] 콀보 μƒμž λ Œλ”λ§(#7671)
  • [x] λͺ©λ‘ μƒμž λ Œλ”λ§(#7671)

λ²„νŠΌ μœ„μ ―

  • [x] ν‘Έμ‹œλ²„νŠΌ λ Œλ”λ§(#9191)
  • [x] μ²΄ν¬λ°•μŠ€ λ Œλ”λ§(#7898)
  • [x] λΌλ””μ˜€ λ²„νŠΌ λ Œλ”λ§(#7898)
4-annotations 4-form-acroform

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이것은 좔적 문제(https://github.com/mozilla/pdf.js/issues/7613#issuecomment-251895091 μ°Έμ‘°)μ΄λ―€λ‘œ ν† λ‘ μ΄λ‚˜ 질문의 ​​μž₯μ†Œκ°€ μ•„λ‹™λ‹ˆλ‹€. 질문이 μžˆλŠ” 경우 IRC에 λ¬Έμ˜ν•˜κ±°λ‚˜ 버그λ₯Ό λ°œκ²¬ν•œ 경우 λ³„λ„μ˜ 문제λ₯Ό μ œμΆœν•˜μ‹­μ‹œμ˜€. 감사 ν•΄μš”.

_(μ‚¬μš©μžκ°€ 이 κΈ°λŠ₯에 λŒ€ν•œ 관심도λ₯Ό μΈ‘μ •ν•˜κΈ° μœ„ν•΄ λ°˜μ‘ λ²„νŠΌμ„ μ‚¬μš©ν•  수 μžˆλ„λ‘ λŒ€ν™”λ₯Ό 잠금 ν•΄μ œν•˜κ³  μžˆμ§€λ§Œ κ΄€λ ¨ μ—†λŠ” λŒ“κΈ€μ€ μ œκ±°λ©λ‹ˆλ‹€.)_

λͺ¨λ“  28 λŒ“κΈ€

이것은 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을 μ°Έμ‘°

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰