μ¬κΈ°μ PDF νμΌμ 첨λΆ(κΆμ₯)νκ±°λ λ§ν¬:
μ ν λλ¬Έμ 곡μ λ¬Έμλ₯Ό μ»μ μ μμ΅λλ€. νμ§λ§ μ€ν¬λ¦°μ·μ 첨λΆνμ΅λλ€. μ΄ λ¬Έμ λ pdf 1.5μ λͺ¨λ DPUScan λ¬Έμμμ λ°μνλ κ² κ°μ΅λλ€.
ꡬμ±:
λ¬Έμ λ₯Ό μ¬ννλ λ¨κ³:
μμλλ λμμ 무μμ
λκΉ? (μ€ν¬λ¦°μ· μΆκ°)
PDFκ° μ¬λ°λ₯΄κ² λ λλ§λμ΄μΌ ν©λλ€.
무μμ΄ μλͺ»λμλμ? (μ€ν¬λ¦°μ· μΆκ°)
κ²μ νλ©΄μ΄ νμλ¨
λ·°μ΄ λ§ν¬(mozilla.github.io/pdf.jsκ° μλ λ€λ₯Έ μ¬μ΄νΈ λλ Firefox/Chrome νμ₯μΌλ‘ νΈμ€ν λλ κ²½μ°):
https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md μμ:
λ¬Έμ κ° νΉμ PDFμμ μμ±λ μ€λ₯μ κ΄λ ¨λ κ²½μ° κΈ°μ¬μκ° λ€μ΄λ‘λν μ μλ URLμ μ 곡νμ¬ νμ PDFλ₯Ό ν¬ν¨νμμμ€. μ¬μμ°μ© PDFκ° μμΌλ©΄ μ΄λ¬ν λ¬Έμ κ° μ’ λ£λ©λλ€.
μμ PDF νμΌ μμ΄λ ν μ μλ μΌμ΄ μκΈ° λλ¬Έμ λ«μ΅λλ€. κ°μ λꡬλ₯Ό μ¬μ©νμ¬ λΆλ₯λμ§ μμ PDF νμΌμ λ§λ€μ΄ μ¬κΈ°μμ 곡μ ν μ μμ΅λλ€. κ·Έλ° λ€μ λ€μ μ΄ μ μμ΅λλ€.
μ¬κΈ°μμ pdf νμΌμ 곡μ ν μ μμ΅λλ€. κ°μΈ μ΄λ©μΌ IDλ₯Ό μ μ μμ΅λκΉ? λ¬Έμλ₯Ό 곡μ ν©λλ€.
λ§μΉ¨λ΄ λΆλ₯λμ§ μμ pdf νμΌμ μ»μ μ μμμ΅λλ€. μ¬κΈ°μ κ°μ κ²μ 첨λΆνμ΅λλ€. λκ΅°κ°κ° λ³Ό μ μμ΅λκΉ?
ν
μ€νΈ.pdf
νμΌμ PDFBoxμμλ μ€ν¨ν©λλ€... μλ°μμλ μ΄λ―Έμ§μ RGB icc μμ 곡κ°μ΄ μμ§λ§ λμ€ν°μμλ 1λΉνΈ ν½μ
μ΄ μλ 1κ°μ λ°΄λλ§ μμ΅λλ€. μ΄λ€ λ©ν λ°μ΄ν°κ° μ€μ λ‘ μ‘΄μ¬νλμ§ μλ €μ£Όλ μ’μ λκ΅¬λ‘ JPEG2000 μ΄λ―Έμ§λ₯Ό λΆμν΄μΌ ν©λλ€.
PDFJS-10026-image.zip
pdf νμΌμ λ λλ§νκΈ° μν΄ pdf.js μΈ‘μμ ꡬνν μ μλ μ λ°μ΄νΈκ° μμ΅λκΉ?
PDFBoxμ λν λ¬Έμ :
https://issues.apache.org/jira/browse/PDFBOX-4326
λ€μμ PDF.jsλ‘ λ λλ§ν μ μλ JPEG2000 μ΄λ―Έμ§κ° ν¬ν¨λ λ λ€λ₯Έ μ΄κ΅μ μΈ PDF νμΌμ
λλ€(11νμ΄μ§, μ€λ₯Έμͺ½ νλ¨). JPEG2000 μ΄λ―Έμ§μλ ν½μ
λΉ 4λΉνΈκ° μμ΅λλ€.
https://issues.apache.org/jira/secure/attachment/12655396/PDFBOX-2204-012411.pdf
μ΄ pdfλ₯Ό λ λλ§νκΈ° μν΄ pdf.js μ½λμ μ μ©ν μ μλ μμ μμ μ¬νμ΄ μμ΅λκΉ? μ μν΄μ£ΌμΈμ.
μλ νμΈμ, μ λ°μ΄νΈλ₯Ό μ 곡ν μ μμ΅λκΉ?
μ¬λ³΄μΈμ! λλ κ°μ λ¬Έμ κ° μμ΅λλ€ :/
μ΄κ² μ’ λ΄μ£Όμκ² μ΄μ? μ¬κΈ°μλ κ°μ λ¬Έμ !
μ¬μ€ μ΄κ²μ λ°λΌ ν μ 체κ°
κ°μ λ¬Έμ : /
λλ μ½κ°μ λλ²κΉ μ νκ³ jpx_stream.jsλ₯Ό 보μλ€. jpxImage.parse() νμ κ°μ²΄μλ 0μΈ νμΌμ΄ 1κ° μμ΅λλ€. ν¬κΈ°λ μ νν©λλ€(μ: 2496 x 3512 = 8765952).
(λ΄κ° 첨λΆν λ€λ₯Έ νμΌμ κ²½μ° λμ½λ©λ λ°μ΄νΈλ λͺ¨λ 255μμ΅λλ€)
λ°λΌμ μ΄κ²μ λ¬Έμ κ° PDFBoxμ κ°μ μμ 곡κ°μ΄ μλλΌ JPEG2000 λμ½λμ μμμ λνλ λλ€.
@rafaelcaviquioli μ΄κ²μ μ€ν μμ€ νλ‘μ νΈμ΄λ©° μκ°μ΄ μκ±°λ μμ μλ μλ μμ λ΄μ¬μκ° μ΄μν©λλ€. "μ΄ μ루μ
μ λ°λΌ λ΄ λ¨Έλ¦¬": κ·Έλ λ€λ©΄ λ©°μΉ λμ νμ λκ΅°κ° λλ μ¬λ¬ μ¬λμ νμ΄μ£Όκ³ JPEG2000 λμ½λλ₯Ό λλ²κ·Ένλλ‘ νμμμ€. μΌλ μμ μΌμ΄λλ€
https://github.com/mozilla/pdf.js/blob/master/src/core/jpx.js
"μΌμ΄μ€ 0xFF93:" κ·Όμ².
JPEG2000 μ¬μμμ μΌμ΄λλ μΌμ λΉκ΅νκ±°λ(https://jpeg.org/jpeg2000/ μ°Έμ‘°) μλ μ€μΈ JPEG2000 λμ½λ(μ: Javaμ λμ½λ)μμ μΌμ΄λλ μΌμ λΉκ΅νμμμ€.
https://github.com/jai-imageio/jai-imageio-jpeg2000/
κ°μ₯ μ μ©ν λκΈ
λλ μ½κ°μ λλ²κΉ μ νκ³ jpx_stream.jsλ₯Ό 보μλ€. jpxImage.parse() νμ κ°μ²΄μλ 0μΈ νμΌμ΄ 1κ° μμ΅λλ€. ν¬κΈ°λ μ νν©λλ€(μ: 2496 x 3512 = 8765952).
(λ΄κ° 첨λΆν λ€λ₯Έ νμΌμ κ²½μ° λμ½λ©λ λ°μ΄νΈλ λͺ¨λ 255μμ΅λλ€)
λ°λΌμ μ΄κ²μ λ¬Έμ κ° PDFBoxμ κ°μ μμ 곡κ°μ΄ μλλΌ JPEG2000 λμ½λμ μμμ λνλ λλ€.
@rafaelcaviquioli μ΄κ²μ μ€ν μμ€ νλ‘μ νΈμ΄λ©° μκ°μ΄ μκ±°λ μμ μλ μλ μμ λ΄μ¬μκ° μ΄μν©λλ€. "μ΄ μ루μ μ λ°λΌ λ΄ λ¨Έλ¦¬": κ·Έλ λ€λ©΄ λ©°μΉ λμ νμ λκ΅°κ° λλ μ¬λ¬ μ¬λμ νμ΄μ£Όκ³ JPEG2000 λμ½λλ₯Ό λλ²κ·Ένλλ‘ νμμμ€. μΌλ μμ μΌμ΄λλ€
https://github.com/mozilla/pdf.js/blob/master/src/core/jpx.js
"μΌμ΄μ€ 0xFF93:" κ·Όμ².
JPEG2000 μ¬μμμ μΌμ΄λλ μΌμ λΉκ΅νκ±°λ(https://jpeg.org/jpeg2000/ μ°Έμ‘°) μλ μ€μΈ JPEG2000 λμ½λ(μ: Javaμ λμ½λ)μμ μΌμ΄λλ μΌμ λΉκ΅νμμμ€.
https://github.com/jai-imageio/jai-imageio-jpeg2000/