Pdf2docx: рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдкреГрд╖реНрда рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВ: 'рдЯреЗрдмрд▓рдмреНрд▓реЙрдХ' рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ 'рд▓рд╛рдЗрдиреЗрдВ'

рдХреЛ рдирд┐рд░реНрдорд┐рдд 4 рдлрд╝рд░ре░ 2021  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dothinking/pdf2docx

рд╣реИрд▓реЛ, рдпрд╣рд╛рдВ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛: рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдкреГрд╖реНрда рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВ: 'рдЯреЗрдмрд▓рдмреНрд▓реЙрдХ' рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рд╣реИ 'рд▓рд╛рдЗрдиреЗрдВ'ред рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ 0.5.0 рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ (рд▓реЗрдХрд┐рди рдпрд╣ рд╣рд╛рдирд┐рд░рд╣рд┐рдд рд╣реИ), рд▓реЗрдХрд┐рди рдЕрдм рдореИрдВ рдЬрд┐рд╕ 0.5.1 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреАред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдирдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реБрдИрдВред

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдореЗрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рднреЗрдЬ рджреА рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж!

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рджрд╕реНрддрд╛рд╡реЗрдЬ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

0.5.1 рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдиреЗрд╕реНрдЯреЗрдб рдЯреЗрдмрд▓ рдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдЯреЗрдХреНрд╕реНрдЯ рдмреНрд▓реЙрдХ рдереЗ, рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдмреНрд▓реЙрдХ рдФрд░ рдЯреЗрдмрд▓ рдмреНрд▓реЙрдХ рджреЛрдиреЛрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдЯреЗрдХреНрд╕реНрдЯ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдлреЙрд░реНрдо рдореЗрдВ рдЖрд╡реЗрджрди рдХрд░реЗрдВред рд╕рдВрд╢реЛрдзрди рд╡рд┐рдзрд┐ рдкрд╛рда рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ:

  1. Shape.py рдлрд╝рд╛рдЗрд▓ рдвреВрдВрдвреЗрдВ:
>>> import pdf2docx
>>> pdf2docx.shape.Shape.__file__
  1. semantic_type() рд╡рд┐рдзрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдБ (рдкрдВрдХреНрддрд┐ 89 рдХреЗ рдЖрд╕рдкрд╛рд╕), рдиреАрдЪреЗ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ
for block in blocks:
    if not block.is_text_block(): continue  # хвЮхКаш┐Щф╕АшбМхИдцЦн

    # not intersect yet
    if block.bbox.y1 < self.bbox.y0: continue

    # check it when intersected
    rect_type = self._check_semantic_type(block)
    if rect_type != RectType.UNDEFINED: break

    # no intersection any more
    if block.bbox.y0 > self.bbox.y1: break

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж, рдЗрди рджреЛ рдореБрджреНрджреЛрдВ рдХреЗ рд╣рд╛рд▓рд┐рдпрд╛ рд╕реБрдзрд╛рд░ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, 0.5.0 рдФрд░ 0.5.1 рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рднрд╛рд╡реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреА рдФрд░ рдкрд╛рдпрд╛ рдХрд┐ рдмрд╣реБрдд рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдкреАрдбреАрдПрдл рд╕реЗ рд╢рдмреНрдж рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдХреНрдпрд╛ рдЬрд░реВрд░рддреЗрдВ рд╣реИрдВ, рдЯреЗрдХреНрд╕реНрдЯ рдирд┐рдХрд╛рд▓рдирд╛, рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рд░рдЦрдирд╛, рдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рдВрдкрд╛рджрди рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдирд╛? рдХреБрдЫ рдкреАрдбреАрдПрдл рдЯреВрд▓реНрд╕ (рдкреАрдбреАрдПрдл-рдПрдХреНрд╕рдЪреЗрдВрдЬ, рдлреЙрдХреНрд╕рд┐рдЯ, рдЖрджрд┐) рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрд┐рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ pdf2docx рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рджрд┐рд╢рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред рдзрдиреНрдпрд╡рд╛рджред

рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВрдиреЗ рдЕрднреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЗрд╕рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред

рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рдорд╛рдВрдЧ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рдмреИрдЪ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рдлрд┐рд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХреНрд░реЛрдмреИрдЯ рдпрд╛ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рдиреА рднрд░рд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдареЛрд╕ рдврд╛рдВрдЪреЗ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pdf2docx рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдирдЬрд╝рджреАрдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡-рд╕рдВрд╢реЛрдзрди рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдЬреИрд╕реЗ рдХрд┐ рдЬреЛрдВрд╕ рдмрджрд▓рдирд╛)ред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рд░ рдХреЛрдИ рдЕрдкрдиреА рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рд╢рд░реНрддреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреНрд░рд╕реНрддрд╛рд╡, рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕