Acasă
» Sfaturi pentru PC
»
Conversia în serie a fișierelor DOCX în PDF cu LibreOffice CLI
Conversia în serie a fișierelor DOCX în PDF cu LibreOffice CLI
Dacă aveți un folder cu fișiere Word, LibreOffice le poate converti cu o singură comandă. Din folderul care conține fișierele DOCX, creați un folder de ieșire gol și rulați comanda libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir pdf *.docx. Aceasta utilizează filtrul de export PDF al Writer și lasă originalele la locul lor.
Folosește un folder de ieșire nou, confirmă că LibreOffice este instalat și verifică fișierele PDF rezultate, în loc să tratezi o ieșire reușită a comenzii ca dovadă că fiecare pagină arată corect. Linia de comandă este un instrument practic de procesare în lot; nu garantează o paginare identică cu Microsoft Word și nici nu repară documentele deteriorate.
Executați o conversie simplă în lot
În Linux, deschideți un terminal în directorul care conține fișierele. Creați mai întâi directorul de ieșire:
mkdir -p pdf
libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir pdf *.docx
--headlessrulează fără a deschide fereastra normală a desktopului. --convert-toselectează PDF ca format de destinație; writer_pdf_Exportdenumește filtrul de export PDF Writer din LibreOffice; și --outdir pdftrimite rezultatele în pdffolder. Shell-ul se extinde *.docxla fișierele corespunzătoare înainte de pornirea LibreOffice. LibreOffice documentează această sintaxă de conversie și numele filtrului în parametrii din linia de comandă referință și lista de filtre de conversie a fișierelor .
Exemplu de ieșire de terminal după ce un lot mic de fișiere DOCX este trimis către LibreOffice cu filtrul de export PDF Writer.
Alegeți modelul de lot potrivit
Comanda wildcard este cea mai potrivită atunci când toate fișierele DOCX se află direct într-un singur folder de intrare. Nu caută în folderele secundare. Pe Linux, modelul este, de asemenea, sensibil la majuscule/minuscule în mod implicit, așadar *.docxpoate omite fișierele care se termină în .DOCX. Dacă shell-ul raportează că modelul nu se potrivește, listați fișierele și verificați extensiile lor înainte de a modifica comanda.
Pentru documentele imbricate în subfoldere, o buclă poate păstra structura directoarelor și poate evita coliziunile atunci când două foldere conțin un fișier cu același nume. Setați inputla arborele sursă și pdfla un arbore destinație separat:
-print0și potrivirea read -d ''gestionează în siguranță spațiile și cele mai neobișnuite caractere din numele fișierelor. Profilul separat împiedică acest job batch să concureze cu o sesiune LibreOffice desktop care utilizează același profil de utilizator; documentele de referință pentru pornire LibreOffice -env:UserInstallation. Folosiți o cale unică de profil dacă două joburi de conversie pot rula simultan. Păstrați arborele de ieșire în afara arborelui de intrare, astfel încât căutarea să nu rătăcească în rezultatele anterioare.
Exemplu de buclă de căutare recursivă care scrie fișiere PDF într-un subfolder PDF lângă fiecare folder sursă, păstrând separat fișierele cu același nume în foldere diferite.
Când LibreOffice este deja deschis
O comandă poate părea că se termină fără a produce fișiere sau se poate conecta la un proces LibreOffice existent. O instanță desktop care rulează poate conține profilul de utilizator implicit. Închideți LibreOffice și încercați din nou; pentru joburi nesupravegheate, -env:UserInstallationopțiunea izolată din exemplul recursiv este o măsură de siguranță utilă. Acordați fiecărui job concurent propriul director de profil și așteptați ca un job să se termine înainte de a reutiliza directorul respectiv.
Dacă comanda spune libreoffice: command not found, instalați LibreOffice prin sursa pachetului acceptat de sistemul dvs. de operare sau utilizați calea completă a executabilului. În Windows PowerShell, un batch simplu, nerecursiv, poate fi scris ca:
Ajustați $sofficedacă LibreOffice este instalat în altă parte. Rulați comanda din folderul sursă și utilizați un nou folder de ieșire. PowerShell Get-ChildItem -Filecaută doar în folderul respectiv, cu excepția cazului în care se solicită recursivitate; joburile recursive au nevoie de o buclă care creează un folder de destinație corespunzător pentru fiecare cale sursă.
Ce poate influența rezultatul?
Conversia PDF păstrează aspectul pe care LibreOffice îl poate interpreta, dar Word și LibreOffice nu paginază întotdeauna documentele identic. Fonturile lipsă, obiectele încorporate neacceptate, modificările urmărite, câmpurile sau tabelele complexe pot modifica sfârșiturile de rând și numărul de pagini. Pentru o tipografie consistentă, instalați fonturile necesare documentelor înainte de conversie. Fișierele protejate sau criptate cu parolă pot necesita deschidere cu acreditări sau gestionarea manuală, iar un DOCX deteriorat poate eșua de la sine, chiar dacă alte fișiere sunt convertite.
Nu rulați lotul în mod repetat într-un folder care conține PDF-uri valoroase cu nume potrivite. Folosiți o destinație curată sau faceți mai întâi o copie de rezervă a rezultatului existent. Dacă un fișier este deosebit de important, deschideți-l în LibreOffice Writer și verificați-l înainte de a vă baza pe PDF. Dacă paginarea exactă în Microsoft Word este o cerință contractuală, este posibil ca LibreOffice să nu fie instrumentul de randare potrivit; comparați un eșantion reprezentativ din aplicație care definește aspectul necesar.
Exemplu de comandă care utilizează un profil de utilizator LibreOffice separat pentru o rulare nesupravegheată a conversiei.
Verificați rezultatul înainte de a-l partaja
Mai întâi comparați numărul de fișiere sursă cu numărul de PDF-uri. Pe Linux, aceste comenzi numără fișierele dintr-un folder plat:
find . -maxdepth 1 -type f -iname '*.docx' | wc -l
find pdf -maxdepth 1 -type f -iname '*.pdf' | wc -l
Pentru conversia recursivă, comparați numărătoarea între arborii de intrare și ieșire completi. Un numărător potrivit este un ecran util, nu o garanție a calității: un document corupt sau un duplicat suprascris poate necesita totuși o verificare. Verificați jurnalul terminalului pentru erori și confirmați că fiecare nume de fișier așteptat apare în destinație.
Inspectați fișiere PDF reprezentative într-un vizualizator PDF. Verificați prima și ultima pagină, numărul de pagini, marginile, tabelele, anteturile și subsolurile, imaginile și orice sfârșituri de pagină importante. Dacă pdfinfoeste instalat, pdfinfo pdf/Report.pdfoferă metadate precum numărul de pagini și dimensiunea paginii; nu evaluează fidelitatea vizuală. Reconvertiți numai după corectarea unei probleme specifice, cum ar fi instalarea unui font lipsă sau schimbarea directorului de ieșire, apoi revizuiți din nou fișierele PDF afectate.
Exemplu de vizualizare de verificare care afișează metadatele PDF, cum ar fi numărul de pagini și dimensiunea hârtiei.
Lotul este gata atunci când există toate fișierele PDF așteptate, se deschide fără erori, iar paginile importante păstrează aspectul dorit. Pentru arhivele lungi, păstrați fișierele DOCX originale și jurnalele de conversie, astfel încât o eroare individuală să poată fi urmărită și rulată din nou fără a înlocui rezultatul nerelevant.