Мазмұнға өту
pdftools.kz

PDF мәтінін неге жай ғана өңдеуге болмайды

PDF мәтінді емес, бетті сипаттайды. Ішінде «F1 қаріпін 11 кеглімен алып, координаты 72 және 708 нүктеге тұрып, мына глифтерді сал» түріндегі командалар жатыр. Файлда абзац та, жол да, тіпті сөз де жоқ — координаттары бар салулар тізбегі бар. Сондықтан «курсор қойып теру» негізінен мүмкін емес: теретін орын жоқ, әр әріп өз нүктесінде тұр, ал жаңасына орын ешкім қалдырмаған.

Браузерде жергіліктітіркеусіз

Сандар туралы қысқаша

Файлда не сақталады
абзац пен сөз емес, координаты бар глифтер
Шығарудағы бос орын ені
кегльдің 0,4-і деп алынады
Бос орынның жартысынан аз саңылау
сөз ішіндегі түйісу, бос орын қойылмайды
Қойылатын бос орын шегі
8; одан кең саңылау баған деп танылады
Бағанға кесу шегі
кегльдің жартысынан артық не кегль айырмасы 2 pt-тен көп
PDF стандартты қаріптері
WinAnsi кодтауымен 14 дана, онда кириллица жоқ

Файлда бос орындар мүлде болмауы мүмкін

Сөздер бос орын таңбасымен емес, қашықтықпен бөлінеді: мәтіннің келесі бөлігі жай ғана оңырақ салынады. Шығару бос орындарды арифметикамен қалпына келтіреді. Бізде бос орынның ені кегльдің 0,4-і деп алынады; осы еннің жартысынан аз саңылау сөз ішіндегі түйісу саналып, бос орын бермейді, ал үлкені бос орынның еніне бөлініп, дөңгелектенеді.

Қойылатын бос орын саны сегізбен шектелген. Кең саңылау — енді бос орын емес, кестенің бағаны, ал қатарынан елу бос орын жолдың ұзындығы өзгерген сәтте ыдырап кетеді. Дәл сол себеппен кегльдің жартысынан артық үзіліс баған шекарасы саналады да, жол өз координаты бар дербес үзінділерге кесіледі.

Жолдар да ұқсас жиналады — тігінен жақындығы бойынша, ал шек мұнда бейімделгіш. Он пиксельден төмен ұсақ мәтінде ол биіктіктің ширегіне тең: әйтпесе тығыз кесте бір жолға жабысып қалар еді. Қалыпты мәтінде — биіктіктің 0,4-і, бір жарым жоларалық интервал абзацты бөліп жібермеуі үшін.

Қаріп файлдың ішінде жатыр, әрі ол толық емес

Құжат бәрінде бірдей көрінуі үшін қаріпті PDF-ке салады. Салғанда дерлік әрқашан ішкі жиынмен салады — тек мәтінде кездескен глифтерді. «Ъ» әрпі бірде-бір рет кездеспеген шартта ол файлда физикалық тұрғыда жоқ, оны сол қаріппен бірде-бір редактор баса алмайды.

Кириллицада бұған екінші мәселе қосылады. Салудың қажеті жоқ он төрт стандартты PDF қаріпі WinAnsi кестесімен кодталады: латын, сандар және тыныс белгілері. Онда орыс әрпі мүлде жоқ, ал оны сондай гарнитурамен салуға талпыну шаршылармен емес, тікелей кодтау қатесімен аяқталады. Сондықтан PDF-ке кириллица қосып жазатын кез келген құрал өз қаріпін салуға мәжбүр — жаңа мәтін бастапқы гарнитурамен емес, соның гарнитурасымен көрінеді.

Ашық файлдан бөгде қаріпті алып, оған жетпейтін глифтерді қосып жазуды браузер істей алмайды: файлда керекті контурлары жоқ ішкі жиын жатыр, ал енгізу лицензиясы гарнитураны қайта шығаруға құқық бермейді.

Бір әріпті алмастырғанда не бұзылады

  • Ен. Әр глифтің өз метрикасы бар: «ш» «і»-ден екі есе кең. Әріпті алмастыру жолдың ұзындығын өзгертеді, ал көрші үзінділердің координаты бұрынғы күйінде қалды.
  • Кернинг. Ұқыпты беттеуде әріп жұптарының арасындағы жылжулар ағында бөлек сандармен жазылады. Жаңа жұп ол сандарды алмайды да, біркелкі қадаммен басылады — ірі кегльде бұл байқалады.
  • Тасымал. PDF-тегі жол әлдеқашан бөлініп, бекітілген. Ұзарған сөз келесі жолға өзі көшпейді — ол жиектен шығып кетеді немесе көрші бағанға мінеді.
  • Абзац пен бет. Жолдар бекітілген соң, қосылған сөйлем соңғы жолды келесі бетке итермейді: қайта беттеу еш жерде және ешқашан болмайды.

Бұдан тәжірибеде не шығады

Орнында түзету жамау сияқты жұмыс істейді: ескі орын боялады, жаңасы үстіне басылады. Бұл «күнді немесе шот нөмірін түзету» міндетін адал шешеді және «абзацты қайта жазу» міндетін нашар шешеді — әр түзетуден кейін бастапқы беттеуден ауытқу өседі.

Көп өзгерту керек болса, құжатты өңделетін пішімде қалпына келтіріп, сол жерде түзетіп, PDF-ті қайта жинаған арзан: сонда тасымалдар, жол ендері мен беттерге бөліну түгел қайта есептеледі. Ақысы — макетті қалпына келтіру дәлдігі: түрлендіргіш құрылымды файл жасалғанда жоғалған сол координаттар бойынша болжайды.

Жиі қойылатын сұрақтар

PDF-тен мәтін көшіргенде бос орындар неге жоғалады?

Себебі олар онда болған жоқ: сөздердің бөлінуі қашықтықпен берілген, ал бағдарлама бос орындарды саңылаулар бойынша қалпына келтіреді. Қаріптің метрикасы стандартты емес болса не жол көп ұсақ үзіндіден жиналса, арифметика қателеседі.

PDF-тен неге түсініксіз таңбалар көшіріледі?

Демек, қаріпте глиф кодтары мен Unicode таңбалары арасындағы сәйкестік кестесі жоқ. Бетті салуға бұл кедергі емес — әріп емес, контур салынады, — бірақ одан мағыналы мәтін шығаратын ештеңе қалмайды.

Өңделетін пішімге аудару неге қисық макет береді?

Түрлендіргіш құрылымды координат бойынша қалпына келтіреді: қайсысы абзац, қайсысы кесте, қайсысы колонтитул. Бұл ақпарат PDF жасалғанда жоғалған, кез келген қалпына келтіру болжам болып қалады, ол көбіне кестелерде сүрінеді.

Онда PDF мүлдем не үшін керек?

Оны түзету неге қиын болса, сол үшін керек: ол бетті бекітеді. Құжат орнатылған қаріптер мен баптауларға қарамай кез келген құрылғыда бірдей ашылады, ал дәл осы қатаңдық өңдеуге кедергі жасайды.

Жақын құралдар