
Uhlolojikelele
@deepseek-ai/libreoffice-kit yiphakheji ye-Node.js yokuguqula nokunikezela ngemibhalo ye-Office isebenzisa izinjini ze-LibreOffice ezakhelwe kusengaphambili nezincishisiwe. Yenzelwe izinhlelo ezidinga ukwakheka kwemibhalo okubikezelwe, umbhalo ofundekayo, ukulawula amafonti okucacile, nokusebenza ngaphandle kwe-inthanethi ngaphandle kokuthembela kukhophi ye-LibreOffice efakwe ngokwehlukile.
Le phakheji isekela ukuguqulwa kwe-Office kuya ku-PDF, ukunikezela okuqondile kwe-PNG, nokubalwa kabusha kwamaspredishithi. Ingasetshenziswa kusevisi ye-Node.js, kuhlelo lwedeskithophu, emsebenzini wokucubungula amafayela ngobuningi, noma komunye umgudu wemibhalo. Ukugunyazwa, ukugcinwa kwamafayela, nezixhumi-msebenzisi zokubuka kuqala kusalokhu kuwumthwalo wohlelo.
Izici ezibalulekile
- Ukuguqulwa kwe-Office: Khipha imibhalo esekelwayo ye-Writer, Calc, ne-Impress iye ku-PDF.
- Ukunikezela kwamakhasi: Nikeza okokufaka kwe-Office noma kwe-PDF ngokuqondile kube ngamakhasi e-PNG.
- Ukubalwa kabusha kwamaspredishithi: Bala kabusha izincwadi zokusebenza bese ulondoloza umphumela obuyekeziwe.
- Ukucubungula okuqaphela amafonti: Thola amafonti esistimu noma wenze inkomba yezinkomba zamafonti ezilungiselelwe ngokusobala.
- Ukushintshwa okulungisekayo: Sebenzisa izintandokazi zokubuyisela emuva zemindeni yamafonti evamile yesi-Latin nesiShayina Esenziwe Lula.
- Ukubika amafonti angekho: Bika imindeni yamafonti engatholakali echazwe kudatha efundekayo yemibhalo ye-OOXML.
- Izinjini ezingaxhunyiwe ku-inthanethi: Sebenzisa izinjini zomdabu ezipakishiwe ezinhlelweni ezisekelwayo ze-macOS ne-Windows noma injini ye-WASM ku-Linux.
- Izilawuli zezinsiza: Sebenzisa imikhawulo yesikhathi kanye nemikhawulo yokwenza inkomba noma yokulayisha amafonti.
- Ama-API omugqa womyalo nawe-Node: Qalisa ukuguqulwa kusuka kutheminali noma ukuhlanganise nekhodi yohlelo.
Okucatshangelwayo ngemibhalo esekelwayo
Injini igcina izihlungi ze-Writer, Calc, Impress, OOXML ne-Office kanambambili, amashadi, izingxenye zokwakheka nokudweba, kanye nokusekelwa kokukhipha ku-PDF. Amafayela kanambambili e-.doc, .xls, ne-.ppt ayasekelwa uma engamadokhumenti e-OLE compound angempela, njengamafayela e-Microsoft Office 97–2003.
Amafayela e-RTF noma e-HTML aqanjwe kabusha nje ngesandiso se-Office kanambambili awamukelwa. Amafayela e-
.wpsnawo awamukelwa.
Emibhalweni ye-OOXML, i-missingFonts ibika imindeni engatholakali etholakala ku-XML yemibhalo efundekayo. Amafomethi kanambambili abuyisa uhlu olungenalutho nakuba i-LibreOffice isaqhubeka nokwenza ukufanisa amafonti kwayo. Ngakho-ke umphumela awuwona umbiko ophelele wama-glyph angekho.
Izidingo zangaphambilini nokufakwa
Udinga i-Node.js 22.19.0 noma entsha. Faka inguqulo 0.1.3 kusuka ku-npm:
npm install @deepseek-ai/libreoffice-kit@0.1.3
Le phakheji isebenzisa okuncikile okukhethwayo ukufaka injini ehambisana nesistimu yokusebenza nesakhiwo samanje. Ayihlanganisi i-LibreOffice ngesikhathi sokufaka, ayilandi ezinye izinjini, futhi ayiseshi uhlelo lwe-LibreOffice olufakwe ngumsebenzisi.
Ukukhethwa kwenjini yesikhulumi
- macOS Apple Silicon: Isebenzisa
@deepseek-ai/libreoffice-kit-darwin-arm64. - macOS Intel: Isebenzisa
@deepseek-ai/libreoffice-kit-darwin-x64. - Windows ARM64: Isebenzisa
@deepseek-ai/libreoffice-kit-win32-arm64futhi idinga i-Node.js ye-ARM64 kanye ne-Microsoft Visual C++ v14 ARM64 Redistributable. - Windows x64: Isebenzisa
@deepseek-ai/libreoffice-kit-win32-x64futhi idinga i-Microsoft Visual C++ v14 x64 Redistributable. - Linux: Ngokuvamile isebenzisa injini eyabiwe ethi
@deepseek-ai/libreoffice-kit-wasm.
I-macOS ne-Windows zidinga amaphakheji azo omdabu afanayo futhi azibuyeli ku-WASM. Uma injini edingekayo ingekho noma yonakele, createConverter yenqaba ngephutha elithi unavailable. Ukuguqulwa okuhlulekile nakho akuqalisi ukushintshela kwenye injini ngokuzenzakalelayo.
Ukusebenzisa isixhumi esibonakalayo somugqa womyalo
Ukufaka kwengeza umyalo othi dsoffice. Uma ufakwe endaweni ethile kuphrojekthi, uwuqalise nge-npm exec.
Nikeza ikhasi libe yi-PNG
Umyalo olandelayo unikeza ikhasi 1 ledokhumenti ye-DOCX libe yifayela le-PNG kufolda yokukhipha ethi report-pages:
npm exec -- dsoffice render \
--input report.docx \
--output-dir report-pages \
--pages 1
Guqula idokhumenti ye-Office ibe yi-PDF
npm exec -- dsoffice convert \
--input report.docx \
--output report.pdf
Bala kabusha isipredishithi
Sebenzisa umyalo wokubala kabusha lapho amafomula kudingeka ahlolwe khona futhi incwadi yokusebenza ebuyekeziwe ilondolozwe:
npm exec -- dsoffice recalculate \
--input budget.xlsx \
--output recalculated.xlsx
Ukuguqula imibhalo nge-Node.js API
Ukuhlanganisa nohlelo, ngenisa i-createConverter, dala isiguquli, sebenzisa umsebenzi, bese ulahla isiguquli ebhulokhini le-finally.
import { createConverter } from '@deepseek-ai/libreoffice-kit';
const converter = await createConverter({
timeoutMs: 120_000,
});
try {
const result = await converter.render({
inputPath: '/private/work/document.docx',
outputPath: '/private/work/document.pdf',
});
console.log('Backend:', result.backend);
console.log('Missing fonts:', result.missingFonts);
} finally {
await converter.dispose();
}
Kulesi sibonelo, i-PDF ekhiqiziwe ibhalwa ku-outputPath. Umphumela obuyisiwe ukhomba i-backend ekhethiwe futhi uqukethe amagama emindeni yamafonti angekho atholakele kudokhumenti.
Izidingo zendlela nokukhipha
- Dlulisa izindlela eziphelele zokufaka nezokukhipha.
- Sebenzisa izinkomba eziyimfihlo eziphethwe futhi zilawulwa uhlelo lokusebenza olubizayo.
- Ifayela lokukhipha eliceliwe akumele libe selikhona kakade.
- Gcina ukukhulula izinsiza ngaphakathi kwebhulokhi ye-
finallyukuze izinqubo zomdabu, abasebenzi, amaphrofayela, nezinsiza zesikhashana zihlanzwe.
Ukulungisa amafonti angokwezifiso
Ngokuzenzakalelayo, iphakheji ithola amafonti ezinkombeni ezivamile zamafonti esistimu nezomsebenzisi. Kunalokho, unganikeza izimpande ezicacile nge-fontDirectories:
import { createConverter } from '@deepseek-ai/libreoffice-kit';
const converter = await createConverter({
timeoutMs: 120_000,
fontDirectories: [
'/absolute/path/to/company-fonts',
'/absolute/path/to/cjk-fonts',
],
});
try {
const result = await converter.render({
inputPath: '/private/work/presentation.pptx',
outputPath: '/private/work/presentation.pdf',
});
if (result.missingFonts.length > 0) {
console.log('Unavailable families:', result.missingFonts);
}
} finally {
await converter.dispose();
}
Izimpande zamafonti angokwezifiso zithatha indawo yohlu oluzenzakalelayo lokutholwa, azilunwebi. Iphakheji isebenzisa i-fontkit ukuhlola imethadatha nokumbozwa kwama-glyph, bese inikeza injini amafayela akhethiwe njengamabhayithi awo okuqala amafonti.
Akukho qoqo lamafonti elihlanganisiwe noma elilandwayo. Ukusatshalaliswa kwakho kufanele kunikeze amafonti afanele futhi kuhambisane namalungelo awo okusatshalaliswa kabusha. Ama-container amancane ngokuvamile adinga ukufakwa kwamafonti noma ukulungiswa kwenkomba yefonti ecacile.
Ukuziphatha kokushintsha amafonti
fontFallbacks ezenzakalelayo ziqukethe okuthandwayo kwemindeni evamile yesi-Latin nesiShayina Esenziwe Lula. Zihlanganisa i-Carlito njengenye indlela uma i-Calibri ingatholakali, kanye ne-Caladea uma i-Cambria ingatholakali. Amaqembu okushintsha amafonti anikezwe obizayo athatha indawo kokuzenzakalelayo, futhi angakhetha kuphela amafonti atholakala ngempela; awawafaki amafonti.
Imindeni yamafonti efakwe ngokunembile inikezwa kuqala, kuhlanganise nemindeni yokuhlobisa neyokubhala ngesandla. Izicelo zamafonti ze-WASM nazo ziphethe ulwazi lwesisindo nolwe-italic ukusiza ukukhetha ubuso befonti obufanele obufakiwe, kuyilapho ikhathalogi yamafonti inganikeza amanye amafonti ama-glyph angekho.
Amathiphu okusebenza athuthukile
Sebenzisa kabusha ama-converter ngokucophelela
Ukusebenzisa kabusha i-converter kungazuza kumakheshi okwabelwana ngawo enkumbulweni kanye nakwidiski yendawo yomsebenzisi elinganiselwe, kumethadatha yamafonti engashintshiwe. Nokho, imisebenzi ku-converter eyodwa yenziwa ngokulandelana. Uma isevisi yakho idinga uhlobo oluthile lokusebenza ngasikhathi sinye, cabangela lokhu kulandelana kunokucabanga ukuthi ama-render amaningi ku-converter efanayo asebenza ngesikhathi esisodwa.
I-render ngayinye isasebenzisa inqubo entsha yomdabu noma i-Node worker kanye nephrofayela eyimfihlo. Ukukhansela nokukhulula izinsiza kulinda ukuphuma kwenjini nokuhlanzwa kwayo.
Setha imikhawulo yezinsiza zamafonti
Izinkomba zamafonti ezinkulu noma ezingathembekile kufanele zilinganiselwe ngezilawuli zamafonti ezitholakalayo:
maxFontFilesikhawulela inani lamafayela amafonti afakwe enkombeni.maxFontFileBytesikhawulela usayizi wefayela lefonti ngalinye.maxLoadedFontBytesikhawulela inani eliphelele ledatha yamafonti elayishiwe.
Umsebenzi ngamunye uphinda uthole futhi uqinisekise amafonti. Imethadatha engashintshiwe ingabiwa ngamakheshisi efekthri ye-converter. Bheka imibhalo yekheshi yemethadatha yamafonti ukuze uthole imininingwane yokulungisa nokwenza ikheshi lingasebenzi.
Hlela ukutholakala kwamafonti e-Linux
Injini ye-Linux WASM isebenzisa amafonti angenisiwe kuphela. Uma kungekho amafonti asebenzisekayo atholakalayo, ukuguqulwa kuyanqatshwa nge-unavailable. Ngakho-ke ama-container kufanele afake amafonti afanele noma afake inkomba yefonti elawulwayo, bese edlulisa indlela yayo ephelele ku-fontDirectories.
Ungacabangi ukuthi okukhiphayo kwe-Office kuyefana
Ukucubungula okuqaphela amafonti kuthuthukisa ukulawulwa kokukhethwa komndeni, kodwa akuqinisekisi okukhiphayo okufana ncamashi ne-Microsoft Office noma okukhiphayo okufanayo phakathi kwezinjini zomdabu ne-WASM. Izilinganiso zamafonti zingashintsha ukwephuka kwemigqa, ukuhlukaniswa kwamakhasi, ubukhulu bamathebula, neminye imininingwane yesakhiwo.
Ukuze wenze ukuqhathanisa okunengqondo, sebenzisa amabhayithi edokhumenti afanayo, amafonti afanayo, nezinketho zokukhipha ezifanayo. I-LibreOffice yomdabu ingaxazulula imindeni yasekuqaleni efakiwe nezinye izindlela ezihambisana nezilinganiso ngaphambi kokushintshwa okulungiselelwe, futhi yenza ukukhetha kwayo kobuso befonti.
Phatha ukuguqulwa njengomngcele wokucubungula amadokhumenti
Ilabhulali yenza ukuguqula nokunikezela, kodwa ayinikezi ukugunyazwa, ukugcinwa, noma isixhumi esibonakalayo sokubuka kuqala. Izinhlelo zokusebenza kufanele ziqinisekise ukufinyelela, zihlukanise amafayela omnikazi obizayo, zikhethe izinkomba zokusebenza eziyimfihlo, futhi zisebenzise imikhawulo efanele yesikhathi nezinsiza emisebenzini yokuguqula.
Ukuthuthukisa nokuqinisekisa
Uma unikela endaweni yokugcina ikhodi uqobo, ukuhlolwa kwemethadatha, kwamayunithi, nokupakisha kungasebenza ngaphandle kokwakha i-LibreOffice:
pnpm verify:metadata
pnpm test
pnpm test:packaging
Ukuhlolwa kwenjini yangempela kudinga futhi ukwakhiwa kwe-adapter, imithwalo yenjini elungiselelwe, kanye ne-LIBREOFFICE_RUNTIME_ENTRY ekhomba endleleni ephelele ye-packages/entry/lib/index.js. Ukwakhiwa kwezinjini kufanele kusebenzise izinguqulo zomthombo nezamathuluzi eziphiniwe yindawo yokugcina ikhodi.
Isiphetho
@deepseek-ai/libreoffice-kit inikeza indlela ephathekayo yokuhlanganisa ukuguqulwa kwe-Office, ukubalwa kabusha kwamaspredishithi, nokunikezwa kwe-PNG ezinhlelweni zesimanje ze-Node.js. Inzuzo yayo enkulu ukuphathwa kwamafonti okucacile kuhlanganiswe nezinjini zomdabu neze-WASM ezilungiselelwe ukusebenza ngaphandle kwe-inthanethi. Ukuze uthole imiphumela ethembekile, nikeza amafonti adingekayo, sebenzisa izindlela eziyimfihlo eziphelele, setha imikhawulo efanele, hlola i-missingFonts, futhi uhlale ukhulula ama-converter ngemva kokuwasebenzisa.
Ukuze uthole ukukhansela, ukuphathwa kwamaphutha okunemininingwane, nezilawuli ezengeziwe zezinsiza, bheka imibhalo ye-Node API.
