8.6 C
София

Няколко трика за работа с PDF файлове в Linux среда

Оригиналът е на Al Williams

Най-четени

Даниел Десподовhttps://www.kaldata.com/
Ежедневен автор на новини. Увличам се от съвременни технологии, оръжие, информационна безопасност, спорт, наука и концепцията Internet of Things.

В началото PostScript бе език за програмиране на принтери. И въпреки че PostScript принтерите все още са актуални, има още редица други формати, с помощта на които данните могат да бъдат изпратени за печат. Но благодарение на PostScript се появи Portable Document FormatPDF, който с течение на времето стана невъобразимо популярен. За много хора не минава и ден без да се налага да прегледат някакъв PDF документ на екрана на своя компютър. Разбира се, има и други формати, които се конкурират с PDF, но в сравнение с PDF, техният дял на пазара е нищожен. Прегледът на PDF файлове в Linux среда не е проблем. Но какво да кажем за тяхното редактиране? Това също не е сложно, но има няколко полезни трика, които улесняват работата с PDF файловете в Linux среда.

Програмите с графичен интерфейс

Има редица приложения за редактиране на PDF файловете в Linux. Основният параметър е качеството на получения резултат. За редактиране на PDF файлове могат да бъдат използвани например, LibreOffice Draw, Inkscape и дори GIMP. Тези програми съвсем лесно се справят с най-опростените задачи – например, когато се налага да се премахне нещо от PDF документ, което да бъде прикрито с бял правоъгълник или когато се налага в PDF файл да бъде добавена някаква забележка. Но ако се налага да бъдат извършени по-сложни промени или ако трябва да се редактират документи, елементите на които са внимателно проверени до последния пиксел, изброените по-горе програми често пъти се оказват неподходящи.

Основният проблем тук е в това, че повечето от тези програми работят с PDF документите като с изображения или като минимум, като с колекция от обекти. По този начин често пъти се получава така, че текстовете колони се преобразуват в съвкупност от отделни редове. Тук всяка промяна може да доведе до прехвърлянето на текста на нов ред, след което се налага ръчната промяна и на другите редове. А понякога, това което изглежда като текст, изобщо не е текст, а просто вмъкнато изображение. Всичко зависи на първо място от това, по какъв начин е бил създаден конкретния PDF файл.

Ако нямате нищо против да използвате онлайн инструменти, то при работата с PDF файлове много може да ви помогне PDFEscape, който е безплатен и много достоен PDF редактор. Има и други подобни, сред които можем да споменем Scribus и Okular. Последните два софтуерни инструмента всъщност не могат да редактират PDF файлове, но могат да ги импортират във вид на качествени изображения, с които вече може да се работи. Да подчертаем, че в Okular, в режим на предварителен преглед на документите е дадена възможност за добавяне на анотации в документите, както и нарисувани от ръка елементи.

Не е за учудване, че популярният emacs може да показва PDF файловете в Х среда. Може да се използва клавишната комбинация Control+C и отново Control+C за да се види изображението на файла вид на текст. В края на краищата, повечето PDF файлове съдържат текст, а emacs може да работи дори и с двоични файлове. Ето защо, ако нямате нищо против да работите с вътрешното съдържание на PDF файловете, което много прилича на PostScript, то можете да ги редактирате в emacs или някакъв друг текстови и двоичен редактор. Но това не е много лесна работа.

Разбира се, има няколко специализирани платени PDF редактора, но за решението на повечето задачи в Linux среда, сред които е и редактирането на PDF файлове, могат да бъдат използвани мощните инструменти, които се използват от команден ред в терминала.

Маскирането на текста

Проблемът при работата с PDF файлове, които са представени във вид на обикновен текст е в това, че дори и техния преглед с emacs не води до нищо, понеже текстът в тях е в компресиран вид и нищо не може да се прочете. Има и още. Буквите, от които са съставени думите, обикновено са разделени с форматиращи кодове, както и от други данни. Ето защо, търсенето на текста в подобни файлове е безсмислено.

Но PDF файловете могат да бъдат преобразувани в друг формат, при използването на който информацията се декомпресира, но това също не е панацея. Така например, ако отворим следния фрагмент на кода на една статия за любителска радиовръзка и се опитаме да намерим думата convention, то дори няма да разберем къде се намира тази дума. Но въпреки това тя е някъде там:

3 0 obj << /Length 14770 /Filter /FlateDecode >> stream

H�|Wɒ�8��+p$gJ,�c��v�cS�Ҍc��J�$���\ZV�����\0�� �CTR�������r��[�}�7}����|��������I5u���`M�>�/��?l�.8�@��gBzq�r!#�%� AE�� �˜ ᥉��x!$��X8^%$��A�D�B���(���b�[H �>����#��{a���e0$^H&|/����U1$^��#��/�G�Us��/»/��\ <i�'qC���$xe�«X�x22�������G��F�Lp]Mnm�$] #TI��G�q�l��'3;!���!+�ȷ�{䕀���

��b��Qja����Q i� GRn�\0�g;L����x�Zܿ㌳�n�2�R& :«x�r�ky�[JPK��/���S��i��������]r�F�p����k�� |���

QI�mx>1�\�1�Q��y)ХǺ�Z�U.^�](pN��dx����;�֬;d�_�{˪�cYa�\�.t�s�}�ْ{<\0ZW�:�Ȅ�Oɴ��cS�UzluP�֨o}ި��Uqf��o��V��bT%mj|��t����;v�{s�Rj˺���

В горната смесица от символи няма какво да се търси. Само че този безпорядък може да бъде конвертиран в некомпресиран текст:

qpdf -qdf input.pdf output.txt

Полученият по този начин файл също е PDF, въпреки че е зададено разширение .txt. Само че текстът в него е декомпресиран. Полученото е далеч от идеалното, но сега все пак можем да намерим в текста това, което е необходимо да бъде променено:

1.2632 -1.1242 TD
0.0739 Tc
0.1263 Tw
(One potentially confusing Stamp)Tj
-1.2632 -1.1368 TD
0.026 Tc
0.1248 Tw
[(con)38.6(v)20.7(ention is that the I/O pin numbers)]TJ
0 -1.1242 TD
0.0262 Tc
0.0072 Tw
[<646f6e90>13.6(t correspond to the IC pin numbers.)]TJ
T*

Мога да пожелая на всички късмет в намирането на същата дума convention. Но това което се получи все пак е значително по-добре от първия вариант. А метаданните могат да бъдат намерени дори и в необработения файл, в който има редове от типа /Author и /Title.

Вълшебствата на командния ред

Съществува интересният софтуерен инструмент qpdf, който може да конвертира PDF файловете в други PDF файлове. При тази конверсия той може да оптимизира тези файлове във вид подходящ за публикуване в интернет или във вид за редактиране на текста. Той може да извършва някои прости операции от рода на премахването на страници или обединяване на фрагментите от няколко файлове. Неговата документация е подробна, като в нея са дадени множество примери.

В показания по-горе случай се използва режима QDF за създаване на стандартен PDF файл, всички обекти в които са поставени в съответствие с техните поредни номера, и в който се използва стандартния за Unix начин за край на реда. Преобразуването на PDF файловете силно опростява тяхното редактиране с помощта на обикновени текстови редактори, но както вече видяхме, това съвсем не е лесна задача. Така например, не е лесно цялостното премахване на обект, но ако премахнем всички негови маркери, като използваме опцията fix-qdf, ще получим един нормален QDF файл.

Друг метод за извършването на съвсем опростени промени в PDF документите е използването на PDFtk Server (PDFtk без „Server“ е графичният комплект инструменти за Windows). С помощта на PDFtk е възможно обединяването и разделянето на документи, завъртането на страници и решаването на още много от този тип задачи за работа с PDF файлове.

Следният пример показва обединяването на всички материали от два PDF файла:

pdftk in1.pdf in2.pdf cat output output.pdf

Можем да направим същото, но да изпуснем, да кажем страница №9:

pdftk in1.pdf in2.pdf cat 1-8 10-end output output.pdf

Можем и да смесваме страниците на обединените по този начин документи и да изберем какъв да бъде техния ред:

pdftk A=in1.pdf B=in2.pdf shuffle A B output output.pdf

От текст към PDF и обратно

Ако предпочитате от команден ред да преобразувате текстов файл към PDF документ, то това може да бъде направено по много начини. Така например, може да се използва отличния софтуерен инструмент Pandoc, който дава възможност за преобразуването на всякакви файлове в PDF документи.

Могат да се използват и различните опции на ps2pdf или pdf2text, както и Ghostscript, като последният предлага изключително мощни възможности, сред които преобразуване на PDF файловете в различни графични формати. Това може да се окаже полезно, когато е необходимо страниците на даден PDF документ да бъдат показани като уеб страници във вид на изображения.

Заключение

В Linux има много начини за решаването на едни и същи ежедневни задачи. Това важи и за тези, свързани с прегледа и обработката на PDF документи. Понякога най-сложното не е в това да се реши една ежедневна задача, а да се намери софтуерният инструмент, който е идеално подходящ за изискванията и стила на работа на потребителя.

Абонирай се
Извести ме за
guest
8 Коментара
стари
нови
Отзиви
Всички коментари

Нови ревюта

Ревю на рутера TP-Link Archer C64: клас AC1200 с гигабитови портове

Брандът TP-Link отдавна е добре позната на нашия пазар, което не е изненадващо, тъй като компанията е един от най-големите производители на мрежово оборудване....

Подобни новини