duminică, 6 noiembrie 2016

Programe arhivare fisiere pdf


 Programe arhivare fisiere pdf

Sper ca cele scrise aici sa fie utile celor care detin cantitati mari de fisiere tip .pdf sau imagini de genul celor .jpg si nu numai.
 Programele despre care voi vorbi mai jos, NU distrug calitatea imaginii si nici nu sterg sau modifica in vreun anumit fel metadata fisierului. Sant 3 programe care exista de ani de zile, dar probabil foarte putina lume a auzit despre ele si cred ca si mai putini le-au utilizat vreodata. Le voi expune in ordinea vitezei de compresie, in detrimentul puterii compresiei (viteza vs forta). 
 Formatele asupra carora actioneaza cel mai bine sant: .jpg, .pdf, .png, .zip/.jar (algoritm deflate), .mjpeg (video), .gif, .swf, .svg, .odt, .bz2, .gz si altele.  
 Programele actioneaza asupra fluxurilor de date (data streams) din cadrul fisierului, decomprimandu-le si recomprimandu-le ulterior cu un algoritm mai puternic. In general, fluxul de date din cadrul fisierelor .jpg este comprimat cu unul dintre algoritmii zlib sau deflate.
 Toate programele actioneaza doar asupra fisierelor nu si a folderelor, cu alte cuvinte, daca aveti mai multe fisiere intr-un folder, arhivati folderul in format .tar sau intr-un alt format, dar necomprimat. Daca aveti cantitati mari, de ordinul zecilor de giga, aveti 2 metode la indemana:
 1. Faceti foldere a cate 1 GB sau alta cantitate dorita, generati o lista din folderul respectiv (am sa las mai jos cateva sugestii pentru Windows si GNU/Linux), arhivati folderul si va puteti apuca de treaba;
 2. Fiecare fisier separat (din nou, mai jos voi lasa cateva sugestii); 
 Nota: toate programele expuse nu necesita instalare, sunt portabile si fara interfata, functioneaza doar in linie de comanda sau prin formula drag & drop. Rulati intai programul si cititi cu mare atentie ceea ce vi se spune; eu nu am dat explicatii foarte detaliate, deoarece fiecare program contine mai multe comenzi si parametrii diferiti. Ceea ce veti citi mai jos reprezinta doar baza.
 Acum sa le luam in ordine:


 ### Precomp (Windows - GNU/Linux-nativ) ###
 
 Ultima versiune este 0.45 si incepand cu aceasta versiune are suport inclusiv pentru fisiere .mp3. Foloseste bzip2 ca algoritm de compresie si are fisiere binare pentru GNU/Linux si Windows.
 Pentru Windows cel mai simplu de folosit este precomf.exe (precomfort) care foloseste sistemul drag & drop. Luati arhiva/fisierul si trageti-l peste executabil (precomf.exe) iar el isi va face treaba. Va rezulta un fisier cu extensia .pcf. Pentru dezarhivare, se repeta aceeasi manevra.
 Pentru Linux: faceti fisierul executabil (din Terminal chmod+x sau click dreapta pe el si bifati-l ca fiind executabil) dupa care deschideti Terminalul in zona unde se afla marfa ce urmeaza a fi arhivata:
 ./precomp fisier.tar
 Pentru o utilizare mau usoara copiati fisierul precomp in /usr/bin.
Nota: versiunile nu sant compatibile intre ele. Daca ati arhivat cu versiunea 043, tot cu aceeasi versiune va trebui sa si dezarhivati.


 ### Lprepaq (Windows - GNU/Linux-wine) ###
 
 Lprepaq foloseste paq6 ca algoritm de compresie si este realizat doar pentru Windows, pentru Linux aveti nevoie de Wine. Aloritmii PAQ* (exceptie zpaq) au limita de 2 GB, deci nu comprima fisiere mai mari de-atat.
 Puterea de compresie se masoara pe o scara de la 0 ... 9. La niveul 3 consuma 30 MB ram, la niveul 6 aprox. 140 MB ram.
 Mod de utilizare:
Linux =  ./lprepaq.exe 6 fisier.tar fisier.tar.lprepaq
Windows - lprepaq.exe 6 fisier.tar fisier.tar.lprepaq


 ### Paq8o8pre (Windows - GNU/Linux-wine) ###
 
 Foloseste paq8 ca algoritm, fiind cel mai greoi dintre cele 3 si culmea, in anumite situatii, lprepaq si precomp genereaza arhivele mult mai mici.
 Putere de compresie de la 0...9, de la 1-3 este rapid, de la 4-9 este foarte incet sau mai bine spus extrem de incet. O arhiva de 100 Mb poate dura aproximativ jumatate de ora sau mai mult la viteza 6. Foloseste si sistemul drag & drop (nivel arhivare 6 default), doar in Windows.
 Nota:
 Daca vreti sa folositi programul sub Wine, logati-va ca sudo sau su in Terminal, altfel veti primi erori in privinta fisierelor .tmp (permission denied). 
 Mod de utilizare (Linux):
 ./paq8o8pre.exe -6 fisier.tar

   

Mentiuni notabile:

 1. fp8 v3 - fast paq8 versiunea 3. Program de compresie universal, care poate comprima inclusiv tipuri de fisiere precum cele expuse mai sus. Este un pic mai incet decat lprepaq dar mai rapid decat paq8o8pre, avand puterea de compresie foarte buna, mai buna decat 7z (lzma2), FreeArc sau Nanozip (WinRar, WinZip etc. ies din calcul). Poate arhiva si foldere.
 2. StuffIt - nativ sub Mac OS portat si pe Windows, compresie buna asupra fisierelor .jpg si .pdf. Versiunile nu sant compatibile intre ele, iar programul este proprietar. 

Un mic test - arhiva .tar care contine fisiere .jpg:

Program       Timp     Cantitate
imagini-brute.tar ==> 174,7 MB
precomp ==> 120,18 sec ==> 130,4 MB
lprepaq 6 ==> 498,1 sec ==> 123,0 MB
fp8_v3 -6 ==> 2464,3 sec ==> 118,9 MB
paq8o8pre -6 ==> 2828,2 sec ==> 119,1 MB



Sugestii:

 ---Windows---

1. Pentru a deschide linia de comanda intr-un folder, tineti apasata tasta Shift si  dati click dreapta pe folderul dorit -> open command window here; eliberati tasta;
2. Pentru a genera o lista: deschideti linia de comanda (command prompt) in locatia de unde vreti sa scoateti lista si introduceti:

 dir /s *.* > C:\lista.txt  

 Daca vi se pare prea complicat, copiati toata comanda de mai sus intr-un fisier text, salvandu-l cu extensia .bat. Copiati script-ul nou creat in folderul de unde doriti sa generati lista si dati dublu click pe fisier. Fisierul nou creat va apare in C:\ cu denumirea lista.txt. 
3. Pentru a arhiva mai multe foldere in arhive separate (format .tar folosind 7zip). Deschideti un fisier text si copiati comanda de mai jos, salvand fisierul cu extensia .bat:

 for /d %%X in (*) do "c:\Program Files\7-Zip\7z.exe" a "%%X.tar" "%%X\"

 Executati script-ul.
 Daca nu aveti 7zip instalat, gasiti o versiune portabila in arhiva de mai jos, tot ceea ce ramane dupa aceea, este sa modificati locatia executabilului in script.
 Referitor la arhivele individuale realizate (cum am facut mai sus cu 7zip, dintr-o lovitura) cu precomp, lprepaq si paq8o8pre momentan le las in aer. Nu ma pricep foarte bine la scripting (in special in Windows), asa ca ramane sa folositi prima metoda momentan pana ma dumiresc sau daca cineva se pricepe sa ne dea o mana de ajutor ar fi si mai bine sau puteti folosi o distributie live GNU/Linux care sa includa si Wine.


 ---GNU/Linux---

1. Trec peste. In functie de desktop-ul folosit, fiecare stie cum se deschide Terminalul.
2. Generare lista. Deschideti Terminal-ul in locatia dorita:

 ls -R > /home/user/fisier.txt
   sau
 ls -Rlha > /home/user/fisier.txt

3. Mai multe foldere in format .tar. Deschideti Terminal-ul in locatia unde se afla folderele ce urmeaza a fi arhivate:

 ls | while read filename; do tar -cvf "$filename".tar "$filename"; done

Folosind Precomp. Deschideti Terminal-ul in folderul in care se afla fisierele:

  ls | while read filename; do /locatia/catre/executabil/precomp "$filename"; rm "$filename".tar; done
 
Pentru lprepaq ar fi asa:

 ls | while read filename; do /locatia/catre/executabil/./lprepaq.exe 6 "$filename" "$filename".lprepaq; rm "$filename"; done
 



Despre Fast PAQ8 (fp8):
http://encode.ru/threads/613-FP8-%28-Fast-PAQ8%29

Despre Precomp, lprepaq si paq8o8pre:
http://schnaader.info/precomp.php

Arhiva (contine programele mai sus mentionate plus 2 versiuni 7zip portabile, dintre care una este doar pentru linia de comanda).