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 .

Terminalul Linux afișează o comandă batch LibreOffice care convertește fișierele DOCX în PDF și listează PDF-urile rezultate.
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:

input="$PWD/input"
output="$PWD/pdf"
profile="file:///tmp/lo-batch-profile"

find "$input" -type f -iname '*.docx' -print0 |
while IFS= read -r -d '' file; do
  rel="${file#"$input"/}"
  dest="$output/$(dirname "$rel")"
  mkdir -p "$dest"
  libreoffice --headless \
    -env:UserInstallation="$profile" \
    --convert-to pdf:writer_pdf_Export \
    --outdir "$dest" "$file"
done

-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.

Terminalul Linux afișează o buclă bazată pe căutare care trimite documente din foldere imbricate către folderele de ieșire PDF corespunzătoare.
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:

$src = (Resolve-Path .).Path
$out = Join-Path $src 'pdf'
New-Item -ItemType Directory -Force -Path $out | Out-Null
$soffice = "$env:ProgramFiles\LibreOffice\program\soffice.exe"
Get-ChildItem -File -Filter *.docx | ForEach-Object {
  & $soffice --headless --convert-to pdf:writer_pdf_Export --outdir $out $_.FullName
}

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.

Terminalul Linux afișează LibreOffice rulând fără funcții headless cu un profil UserInstallation separat înainte de exportul PDF.
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.

Terminalul Linux afișează ieșirea pdfinfo cu numărul de pagini, dimensiunea paginii și dimensiunea fișierului pentru un PDF convertit.
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.

Lasă un comentariu

Creați PDF-uri completabile din formulare în LibreOffice Writer

Creați PDF-uri completabile din formulare în LibreOffice Writer

Adăugați câmpuri de text utilizabile, casete de selectare și liste derulante în Writer, apoi exportați un PDF pe care destinatarii îl pot completa și salva.

Păstrează fonturile folosite în fișierele PDF LibreOffice

Păstrează fonturile folosite în fișierele PDF LibreOffice

Corectați fonturile lipsă sau înlocuite în fișierele PDF LibreOffice Writer, alegeți profilul de export corect și verificați ce fonturi sunt încorporate înainte de partajare.

Conversia în serie a fișierelor DOCX în PDF cu LibreOffice CLI

Conversia în serie a fișierelor DOCX în PDF cu LibreOffice CLI

Conversia unui folder de documente Word în PDF cu comenzi LibreOffice, gestionarea în siguranță a folderelor imbricate și verificarea rezultatului înainte de partajare.

Faceți ca fiecare document nou din Writer să utilizeze șablonul dvs.

Faceți ca fiecare document nou din Writer să utilizeze șablonul dvs.

Setați un șablon personalizat LibreOffice Writer ca implicit, astfel încât documentele noi să se deschidă cu stilurile și aspectul paginii preferate.

Faceți ca LibreOffice să recunoască runtime-ul Java

Faceți ca LibreOffice să recunoască runtime-ul Java

Instalați un runtime Java compatibil, activați-l în LibreOffice și depanați o listă JRE goală fără a modifica setările care nu au legătură cu aceasta.

Rulați LibreOffice Headless în Docker pentru conversia PDF

Rulați LibreOffice Headless în Docker pentru conversia PDF

Construiți un mic container LibreOffice, convertiți documente Office fără o interfață grafică și verificați ieșirea PDF, limitând în același timp accesul la fișierele gazdă.

Micșorează fișierele LibreOffice Impress fără a estompa imaginile

Micșorează fișierele LibreOffice Impress fără a estompa imaginile

Reduceți fișierele de prezentare LibreOffice supradimensionate prin comprimarea fotografiilor încorporate, alegerea unor setări de imagine inteligente și verificarea calității diapozitivelor înainte de partajare.

Opriți decuparea imprimărilor la dimensiuni personalizate în LibreOffice

Opriți decuparea imprimărilor la dimensiuni personalizate în LibreOffice

Potriviți dimensiunile paginii din LibreOffice cu cele ale imprimantei dvs., verificați marginile imprimabile și corectați scalarea înainte de a imprima un document cu dimensiune personalizată.

Accelerați macrocomenzile Calc prin citirea și scrierea datelor în loturi

Accelerați macrocomenzile Calc prin citirea și scrierea datelor în loturi

Înlocuiți accesul repetat la celule cu citiri și scrieri în bloc ale intervalelor, apoi comparați rezultatul și protejați formulele în registrele de lucru Calc mari.

Organizarea unei cărți LibreOffice cu documente principale legate

Organizarea unei cărți LibreOffice cu documente principale legate

Împărțiți un manuscris lung în capitole, asamblați-le în Writer și mențineți consecvența stilurilor, conținutului și verificărilor de export.