PDF-ті Word-ке қалай аудару
PDF → Word бетінде файлды жүктеңіз — ол біздің серверге барады, сол жерде pdf2docx кітапханасы одан .docx құрастырып қайтарады, ал екі уақытша көшірме жауаптан кейін бірден жойылады. Бірден-бір шарт: құжатта мәтін қабаты болуы керек, әйтпесе түсіндірмесі бар бас тарту келеді — бізде мәтінді тану жоқ. Беттеу бұл ретте міндетті түрде жылжиды, оған кінәлі түрлендіргіш емес, форматтың өзі.
Сандар туралы қысқаша
- Қайда өңделеді
- серверде, бөлек қызмет — pdf2docx 0.5.8
- Көлем шегі
- файлға 25 МБ
- Күту шегі
- бір түрлендіруге 110 секунд
- Мәтін қабатының шегі
- орташа алғанда бетіне 30 таңба
- Уақытша файлдар
- бірден жойылады, қалдықты күзетші 15 минутта сыпырады
- Сұраныс шегі
- бір мекенжайдан 10 минутта 10 түрлендіру
Файл қайда барады
Бұл — бізде серверде орындалатын тоғыз әрекеттің бірі: pdf2docx деген Python кітапханасы, біз оны сайттың қасында бөлек қызмет ретінде ұстаймыз. Сіздің PDF Алматыдағы серверге жетеді, уақытша файлға жазылады, түрлендіріледі және дайын .docx-пен бірге finally блогында жойылады — қате болған жағдайда да.
Файл сұраныстан аман қалатын жалғыз саңылау — таймаут бойынша өлтірілген процесс: SIGKILL finally-ді орындауға мүмкіндік бермейді. Сондықтан қызметте күзетші жұмыс істейді, ол әр бес минут сайын он бес минуттан асқанның бәрін сыпырады. Мұны pdf2docx-service/app.py файлынан өз көзіңізбен тексеруге болады.
Беттеу неге дәлме-дәл көшпейді
PDF-те абзац деген жоқ. Бет ішінде «мына глифтерді мынадай түрлендіру матрицасымен сал» деген командалар жатыр — координаттар, кегль, қаріп. «№14 шарт» деген жол бір нысан да, X бойымен шашылған бес нысан да бола алады. Word керісінше құрылған: онда абзац бар, абзацта шегіністер мен аралықтар бар, мәтін ішінде өзі ағып жүреді.
Демек, түрлендіргіш болжауға мәжбүр: мына бөліктер бір жол болған, мына жолдар бір абзац, мына сызықтар кестенің торы, ал мұнда баған емес, жай екі бос орын. Ол мұны координаттар арасындағы қашықтық бойынша болжайды. Бір бағанды қарапайым есепте әрдайым дерлік дұрыс болжайды; кірістірмелері бар үш бағанды журнал беттеуінде — ешқашан дерлік.
Практикалық қорытынды: бастапқы бет неғұрлым қарапайым болса, нәтиже түпнұсқаға соғұрлым жақын. Әрі осыдан «жоғалтусыз» түрлендіргіштің неге болмайтыны да түсінікті — жоғалту тапсырманың өзіне салынған: файлда жоқ құрылымды қалпына келтіру керек.
Түрлендіру мүлде басталмайтын жағдайлар
- Құжатта мәтін жоқ: бүкіл файл бойынша орташа тығыздық тексеріледі, шек — бетіне 30 таңба. «Мәтіні» бұрыштағы бет нөмірі ғана болған скан осында тоқтатылады, сіз бос .docx емес, мәтін қабатының жоқтығы туралы хабарлама көресіз.
- PDF құпия сөзбен жабылған: қызмет шифрлау белгісін түрлендіруге дейін оқып, ENCRYPTED кодымен бас тартады. Алдымен құпия сөзді алып тастаңыз.
- Файл ашылмайтындай бүлінген — бұл да бөлек код, CORRUPT, «кейінірек көріңіз» емес.
- Файл 25 МБ-тан үлкен немесе бір мекенжайдан он минутта он сұраныстан көп — бұл шектеу қайталаумен емес, күтумен шешіледі.
- Сервер бір мезгілде екі түрлендіру ұстайды; кезекте бестен көп болса, қатып қалған қойындының орнына тура «бос емес» жауабы келеді.
Жұмыс тәртібі
- Бастапқы PDF-те мәтін белгілене ме, тексеріңіз. Белгіленбесе — бұл скан, оны түрлендіретін ештеңе жоқ.
- PDF → Word бетін ашып, файлды жүктеу терезесіне сүйреңіз.
- Жауапты күтіңіз: орташа құжатта бұл бірнеше секунд, күтудің шегі — 110 секунд.
- Дайын .docx-ті ашып, алдымен кестелер мен колонтитулдарды қараңыз: солар бәрінен бұрын бұзылады.
- Егер сізге беттеу емес, тек мәтін керек болса, мәтінді шығаруды алыңыз — ол браузерде жұмыс істейді және файлды ешқайда жібермейді.
Жиі қойылатын сұрақтар
Сканды неге Word-ке аударуға болмайды?
Себебі онда әріп жоқ — беттің суреті бар. Одан мәтінді тек тану шығара алады, ал бұл өз моделі мен өз қателері бар бөлек әрекет. Бізде ол жоқ, сондықтан қызмет ішінде суреттері бар құжат бермей, бірден бас тартады.
Кесте кесте болып қала ма?
Кейде иә: барлық сызығы салынған және ұяшықтары біріктірілмеген болса. PDF-те кестенің торы — жай кесінділер жиынтығы, түрлендіргіш торды солар бойынша қалпына келтіреді. Сызықсыз, тек шегіністермен жасалған кесте әрдайым дерлік абзацтар тізбегіне айналады.
Жүктелген файлды сақтайсыздар ма?
Жоқ. Уақытша PDF пен жиналған .docx сол сұраныстың ішінде, finally блогында жойылады, яғни түрлендіру сәтсіз болғанда да. Бөлек күзетші әр бес минут сайын қызметтік қалтаны тексеріп, процесс қатты өлтірілген соң он бес минуттан асып кеткеннің бәрін өшіреді.
Word-те абзац неге жолдарға бөлініп кетті?
Түрлендіргіш жолдар арасындағы үлкен тік аралықтарды көріп, оларды бөлек абзац деп шешті. Бұл жоларалық интервалы созылған құжаттарда болады. Емі Word-тің өзінде: іздеу және ауыстыру арқылы артық абзац белгілерін алып тастаңыз.