Pages

6/3/14

Ինչ կարելի է անել pdf-ի հետ Լինուքսում և ինչպես

(Հոդվածը թարմացվել է 2016 թ. մայիսի 25-ին)։

Թեև Adobe Acrobat ծրագիրը Լինուքսում գործածել չենք կարող, սակայն կարող ենք pdf-ի հետ բազմաթիվ գործողություններ կատարել մի շարք ծրագրերի կամ ծրագրային գործիքների միջոցով։ Դրանցից կառանձնացնենք հետևյալները՝ cups-pdf, okular, pdftk, ghostscript, poppler-utils, qpdf, imagemagick, pdfmod, pdfshuffler, pdfsam, xournal։

Բացատրենք, թե սրանցից որն ինչի համար է հարմար գործածել։

Սկսենք ամենաանհրաժեշտից՝ ընթերցիչից*։ Թեև pdf-ի մի քանի ընթերցիչ կա Լինուքսի համար, սակայն ամենաշատ հարմարություններ ունեցողը Okular-ն է, որը ոչ միայն pdf է ընթերցում, այլև djvu, epub, fb2 և այլն։ Բացի դրանից, Okular-ում կարելի է գունանշումներ անել և նշումներ կցել, ոչ միայն pdf-ների ներսում, այլև այն բոլոր ձևաչափերով նիշքերի, որոնք ընթերցում է Օkular-ը։ Սակայն սրա վերաբերյալ պետք է գիտենալ հետևյալը։ Գունանշումներն ու կցվող նշումները տեսանելի են միայն Օկուլարում և, եթե Ձեր համակարգչում տեղակայված է poppler-utils-ի 0.20 տարբերակից ավելի ցածր տարբերակ, ապա Դուք չեք կարող այդ նշումները, Save as հրամանի միջոցով պահպանելով pdf ձևաչափում, փոխանցել մի ուրիշին։ Դուք կարող եք դրանք պահպանել, եթե գործածեք Օկուլարի ներսում եղած Export as document archive հրամանը, որը ստեղծում է .okular ընդլայնմամբ նիշք։ Եվ այս դեպքում Ձեր նշումներով նիշքը կարող եք փոխանցել նրան, ով նույնպես ունի Okular ծրագիրը։ Պետք է գիտենալ նաև, որ, եթե փոխեք նշումներով pdf նիշքի անունը (բայց ո՛չ .okular ընդլայնմամբ նիշքի), նշումները կկորցնեք։

* Թարմացում։ 2015 թ. սեպտեմբերից FoxitReader ծրագիրը նաև Լինուքսի համար է թողարկվում։ Սա բազմաթիվ հնարավորություններով ծրագիր է (մատիտով և մուտքագրմամբ նշումների, էջանիշների հավելում ևն)։ Բացի դրանից, այս ծրագրի ուինդոուսյան տարբերակը ևս կարելի է աշխատեցնել Wine-ով։


Օկուլարով Ձեր կատարած ո՛րևէ փոփոխության տվյալ պահպանվում է .kde/share/apps/okular/docdata պանակում (եթե չգիտեք՝ ինչպես գտնել .kde թաքնված պանակը, home-ում գտնվելով՝ սեղմեք ctrl H ստեղնային համադրությունը, որը թաքնված պանակներն ու նիշքերը տեսանելի է դարձնում)։ Օկուլարի այս պանակում ժամանակի ընթացքում բազմաթիվ xml-ային նիշքեր կգտնեք հավաքված. դրանց մեծ մասը «աղբ» է. Օկուլարն այդ պանակում հավաքում է pdf-ի հետ Օկուլար ծրագրով կատարված  ամեն գործողության տվյալ։ Թեև այդ xml-ների մեծ մասը հանգիստ կարող եք ջնջել՝ տեղ ազատելու համար, սակայն, եթե ունեք այնպիսի նիշքեր, որոնցում պահպանման ենթակա նշումներ եք կատարել, դրանց կցված xml-ները մի՛ ջնջեք, այլապես կկորցնեք նաև Ձեր նշումները և Ձեր դրած էջանիշները։

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Զանազան ծրագրերի միջից pdf տպելու համար անհրաժեշտ է տեղակայել cups-pdf փաթեթը։ Պիդիէֆի տպիչով կարելի է երբեմն պիդիէֆի ծավալը փոքրացնել, եթե այն նորից տպեք տպիչի միջոցով։ Տպիչով կարող եք նաև որպես առանձին պիդիէֆ տպել Ձեր ուզած էջերի միայն մեկ տիրույթ, ասենք՝ միայն 5-150 էջերը։ Այս տպիչը թույլ չի տալիս տպել մեկ տիրույթից ավել էջեր, օրինակ, 1, 5, 40-50 էջերը։ Սրա համար պետք է դիմել այլ ծրագրերի օգնության։

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pdftk-ը գրաֆիկական միջերես չունեցող ծրագիր է, ուստի նրա բոլոր հնարավորություններից օգտվել կարելի է միայն տերմինալի միջոցով։ Կան որոշ ծրագրեր (օրինակ՝ pdf chain-ը), որոնք pdftk-ի համար ծառայում են որպես գրաֆիկական միջերես, սակայն դրանք միայն մի քանի գործողություն կարող են կատարել, ո՛չ այն ամենը, որին ընդունակ է pdftk-ը։


pdftk-ով, ինչպես նաև ghostscript-ով որոշ գործողությունների հրամաններ

Նիշքեր կցելու համար գրել՝
pdftk 1.pdf 2.pdf cat output վերջնական.pdf
Այսինքն՝ այստեղ հրահանգում եք, որ 1.pdf և 2.pdf նիշքերը կցվեն որպես վերջնական.pdf։ Անշուշտ 1-ի, 2-ի և «վերջնական»-ի փոխարեն պիտի գրեք Ձեր նիշքերի անունները։
Սկսնակների համար։ Տերմինալում նիշքերի հետ որևէ գործողություն կատարելուց առաջ նախ պետք է տերմինալում ցույց տալ Ձեզ անհրաժեշտ նիշքի (նիշքերի, պանակի) ուղին։ Սա անում ենք cd հրամանի օգնությամբ։ Օրինակ՝ եթե այն pdf նիշքերը, որոնք ուզում եք կցել, գտնվում են Downloads պանակում գտնվող PDF պանակում, տերմինալը բացելուց հետո գրում եք cd Downloads/PDF և սեղմում մուտքի ստեղնը (Enter)։ Այնուհետև արդեն կարող եք գրել pdftk-ի հրամանը։

Եթե նիշքերը շատ են, անշուշտ անհարմար կլինի այսքան անուն մուտքագրելը, ուստի Ձեր պիդիէֆները լցրեք մի պանակի մեջ, cd-ով ցույց տվեք այդ պանակի ուղին և գրեք՝
pdftk *.pdf cat output վերջնական.pdf

Եթե որևէ նիշք ուզում եք մասնատել մեկական էջերի, գրեք՝
pdftk անուն.pdf burst

Եթե ուզում եք Ձեր պիդիէֆից հանել որոշ էջեր (կամ պահպանել միայն որոշ էջեր), օրինակ՝
եթե ուզում եք ջնջել Ձեր նիշքի 1-4-րդ, 21-34-րդ, 46-59-րդ էջերը (կամ պահպանել 5-20-րդ, 35-45-րդ, 60-ից մինչև վերջ եղած էջերը միայն), ապա գրեք՝
pdftk սկզբնական.pdf cat 5-20 35-45 60-end output վերջնական.pdf

Եթե ուզում եք պտտեցնել (rotate) Ձեր նիշքի բոլոր էջերը 180 աստիճանով, գրեք՝
pdftk սկզբնական.pdf cat 1-endsouth output վերջնական.pdf
90 աստիճանով՝
pdftk սկզբնական.pdf cat 1-endeast output վերջնական.pdf

Եթե ուզում եք պտտեցնել Ձեր նիշքի միայն առաջին էջը և 90 աստիճանով, գրեք՝
pdftk սկզբնական.pdf cat 1east 2-end output վերջնական.pdf

Եթե ուզում եք շրջել էջերի դասավորությունը (օրինակ՝ երբեմն Google Books-ը տրամադրում է հակառակ դասավորությամբ գրքեր, որոնց սկիզբը վերջն է, վերջը՝ սկիզբը), ապա հրամանի մեջ նշեք նիշքի էջերը հակառակ դասավորությամբ, օրինակ՝ 445 էջանոց գրքի էջերի դասավորությունը շրջելու համար կգրենք՝
pdftk սկզբնական.pdf cat 445-1 output վերջնական.pdf

Երբեմն գործ ենք ունենում պաշտպանված (կամ գաղտնագրված՝ encrypted) pdf-ների հետ։ Անշուշտ, հեղինակային իրավունքները պետք է հարգել։ Սակայն, եթե պիդիէֆը միայն անձնական գործածության համար է, իսկ մենք էլ չենք կարողանում, օրինակ, Օկուլարով գունանշումներ անել նրանում նիշքի գաղտնագրված լինելու պատճառով կամ որոշ էջեր առանձին տպել անձնական գործածության համար, ապա գաղտնագրված նիշքը տերմինալով գաղտնազերծելու (decrypt) համար կա մի քանի ձև, օրինակ՝ եթե գիտենք նիշքի գաղտնաբառը, ապա գրում ենք՝
pdftk գաղտնագրված.pdf input_pw գաղտնաբառ output գաղտնազերծված.pdf

Եթե գաղտնաբառը չգիտենք, ապա (եթե տեղակայել ենք ghostscript-ը) գրել՝
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=գաղտնազերծված.pdf -c .setpdfwrite -f գաղտնագրված.pdf

Բայց ավելի հեշտ հրաման է հետևյալը (միայն թե պետք է տեղակայել դրա համար qpdf ծրագիրը)՝
qpdf --decrypt գաղտնագրված.pdf գաղտնազերծված.pdf

Գաղտնաբառով գաղտնագրված pdf ունենալու համար գրել՝
pdftk սկզբնական.pdf output վերջնական.pdf owner_pw գաղտնաբառը

Գաղտնաբառով գաղտնագրված pdf ունենալու համար, որն այլք կարող են բացել գաղտնաբառով, գրել՝
pdftk սկզբնական.pdf output վերջնական.pdf owner_pw գաղտնաբառ user_pw գաղտնաբառ
Այստեղ առաջին գաղտնաբառը նիշքի հեղինակինն է, իսկ երկրորդը՝ նիշքը բացելու համար գործածողին անհրաժեշտ գաղտնաբառը։

Նույնպիսի pdf ունենալու համար, սակայն նիշքը բացելուց հետո տպելու թույլտվությամբ, գրել վերևի հրամանը՝ ավելացնելով allow printing բառերը՝
pdftk սկզբնական.pdf output վերջնական.pdf owner_pw գաղտնաբառ user_pw գաղտնաբառ allow printing

Պետք է իմանալ, որ, եթե pdf-ը սարքում ես LibreOffice-ով, ապա վերջինս տալիս է գաղտնաբառով pdf սարքելու հնարավորություն։

Եթե ուզում ես pdf-ը սեղմել, գրիր՝
pdftk սկզբնական.pdf output վերջնական.pdf compress

Ghostscript-ով կարելի է նիշքերը սեղմել տարբեր նախընտրանքներով։

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/ebook -sOutputFile=վերջնական.pdf սկզբնական.pdf

Այստեղ dPDFSETTINGS=/ebook-ի փոխարեն կարող ենք գործածել որակը կարգավորող հետևյալ նախընտրանքները՝
-dPDFSETTINGS=/screen (շատ ցածր որակ, 72 dpi խտությամբ պատկերներ)
-dPDFSETTINGS=/ebook (ցածր որակ, 150 dpi խտությամբ պատկերներ)
-dPDFSETTINGS=/printer (բարձր որակ, 300 dpi խտությամբ պատկերներ)
-dPDFSETTINGS=/prepress (բարձր որակ՝ գույների պահպանմամբ, 300 dpi խտությամբ պատկերներ)
-dPDFSETTINGS=/default (որակը համարյա նույնն է, ինչ -dPDFSETTINGS=/screen նախընտրանքինը)

Pdf-ը կարելի է սեղմել (ո՛չ լավ որակով) նաև հետևյալ պարզ հրամանով՝
convert սկզբնական.pdf -compress Zip վերջնական.pdf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pdf նիշքը բազմաթիվ նկարային նիշքերի վերածելու համար պետք է ունենալ poppler-utils-ը, որի pdftoppm գործիքը թույլ է տալիս pdf-ը փոխարկել ppm, png կամ jpeg ձևաչափերի պատկերների։ Անհրաժեշտ հրամանն է (օրինակ՝ png նիշքեր ստանալու համար)՝
pdftoppm -png անուն.pdf prefix
Սրա արդյունքում կստեղծվեն .png ձևաչափով նիշքեր հետևյալ անուններով՝ prefix-01.png, prefix-02.png և այլն։


Իսկ եթե հակառակն եք ուզում անել՝ բազմաթիվ նկարներից ստեղծել մեկ pdf նիշք, ապա սա կարող եք անել imagemagick ծրագրի միջոցով, որը նկարների հետ աշխատող ծրագիր է։ Նկարները լցնում եք մի պանակում, տերմինալում ցույց տալիս այդ պանակի ուղին և գրում՝
convert *.jpg անուն.pdf
.jpg-ի փոխարեն կարող է լինել մեկ այլ նկարային ձևաչափի անուն՝ .png, .gif և այլն։

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Pdf նիշքերում էջեր ջնջելու, ուրիշ նիշքից ավելացնելու, էջերի դասավորությունն ու դիրքը փոխելու, ինչպես նաև ցանկի էջանիշ-միավորներ ավելացնելու շատ հարմար ծրագիր է pdfmod-ը։

Սրա նման ծրագիր է pdfshuffler-ը, որը, սակայն, ունի նաև էջերը կրճատելու (crop) գործիք, որը չունի pdfmod-ը, սակայն չունի էջանիշներ ավելացնելու հնարավորություն, որն ունի pdfmod-ը։ Այնպես որ այս երկու ծրագրերը լրացնում են միմյանց բացը։

Pdf-ներ կցելու կամ մասնատելու շատ հարմար ծրագիր է pdfsam-ը։

Այս երեքն էլ գրաֆիկական միջերեսով ծրագրեր են, այսինքն՝ տերմինալով դրանք աշխատեցնելու կարիք չունեք։

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Հասանք xournal-ին։ Այս ծրագիրն ինձ այնքան մեծ օգնություն է մատուցել և ազատել ավելորդ գլխացավանքից, որ անկարելի էր նրա մասին չխոսել։ Xournal-ը նշատետր ծրագիր է, սակայն բացում է pdf նիշքեր և թույլ տալիս դրանցում զանազան գույներով գրել, նկարել, գծել-մծել։ Սա պարզապես անփոխարինելի ծրագիր է այն սրբագրիչների կամ խմբագիրների համար, ովքեր ստիպված են իրենց ուղղումները կատարել ոչ թե թղթի վրա կամ մեկ այլ ծրագրում, այլ հենց pdf-ի մեջ։ Այս ծրագրում բոլոր սրբագրական ուղղումները կատարելուց հետո դրանք պահպանելու և մեկ ուրիշին ուղարկելու համար պետք է ծրագրի ներսից pdf տպելու կամ արտահանելու հրամանը տալ։ Այդուհետ Ձեր ուղղումներով pdf նիշքը կարող եք ուղարկել՝ ում ուզում եք, ինչ օպերացիոն համակարգ էլ որ նա գործածելիս լինի։ Նայե՛ք ներքոբերյալ սկրինշոտները։