Ninasakinishaje pdfx?
Sakinisha kifurushi kwa ujumla (global) ili upate amri ya pdfx. Au iendeshe mara moja bila kusakinisha.
npm install -g @pdf123/cli
pdfx --versionnpx @pdf123/cli merge a.pdf b.pdf -o merged.pdf
bunx @pdf123/cli merge a.pdf b.pdf -o merged.pdfbun add -g @pdf123/cli na pnpm add -g @pdf123/cli pia hufanya kazi. Hakuna kingine kinachohitaji kusakinishwa.
Ninaanzaje?
Amri hizi sita zinaonyesha mifumo ya kawaida.
pdfx list # every tool; --category security for one category
pdfx describe watermark # a tool's fields and defaults
pdfx merge a.pdf b.pdf -o merged.pdf
pdfx compress *.pdf -o compressed/ # several files: one result per file
pdfx watermark in.pdf --watermarkText DRAFT
pdfx pipeline a.pdf b.pdf --step merge --step compress -o out.pdfNinaendeshaje zana yoyote?
Hoja ya kwanza ni kitambulisho cha zana. Faili za ingizo na chaguo za zana hufuata. Kila chaguo la zana ni bendera, iliyoandikwa kama jina la sehemu ya API (--pageNumbers) au kwa kebab case (--page-numbers). Nambari hasi inaweza kufuata bendera yake baada ya nafasi, kama ilivyo kwenye --rotation -90, au baada ya alama ya usawa.
pdfx <tool> [files...] [--<field> <value>]...Tumia pdfx list kuona zana. Inakubali --category au --group, na --query pamoja na maneno ya kutafuta. Tumia pdfx describe <tool> kuona sehemu ya mwisho, ingizo zinazokubaliwa, kama zana inaendeshwa kama kundi, na kila sehemu pamoja na thamani yake chaguomsingi na thamani zinazoruhusiwa. Kitambulisho cha zana kisichojulikana hupewa mapendekezo, na kilichoandikwa vibaya hutoka kwa msimbo wa 2.
Amri zipi zinalingana na kurasa zipi za zana?
| Amri | Ukurasa wa zana | Inafanya nini |
|---|---|---|
pdfx merge a.pdf b.pdf -o merged.pdf | Unganisha | Unganisha PDF kadhaa kuwa moja |
pdfx split report.pdf --pageNumbers 3,7 -o parts.zip | Gawanya | Gawanya PDF kuwa faili tofauti |
pdfx compress in.pdf -o out/ | Bana | Bana tena mitiririko ya PDF ili kupunguza ukubwa |
pdfx watermark in.pdf --watermarkText DRAFT | Weka alama ya maji | Ongeza alama ya maji ya maandishi au picha |
pdfx protect in.pdf --password secret -o locked.pdf | Weka nenosiri | Simba PDF kwa nenosiri |
pdfx unlock locked.pdf --password secret | Ondoa nenosiri | Ondoa ulinzi wa nenosiri |
pdfx get-info in.pdf | Maelezo ya hati | Chapisha metadata, ruhusa na muundo kama JSON |
pdfx ocr scan.pdf -o out/ | OCR | Soma PDF iliyoskaniwa na uhifadhi Markdown |
pdfx pdf-to-markdown in.pdf -o out/ | PDF kuwa Markdown | Geuza PDF kuwa Markdown |
pdfx rotate in.pdf --angle 90 | Zungusha | Badilisha mwelekeo wa kurasa kwa digrii 90, 180 au 270 |
pdfx repair broken.pdf | Rekebisha | Jenga upya muundo wa PDF iliyoharibika |
Ninachakataje faili nyingi kwa wakati mmoja?
Toa faili kadhaa kwa zana ya faili moja na pdfx inaendesha kundi. Tumia -o pamoja na saraka inayoishia kwa mkwaju. Zana inaendeshwa mara moja kwa kila faili, faili mbili kwa wakati mmoja kwa chaguomsingi. Badilisha hilo kwa --concurrency.
pdfx compress *.pdf -o compressed/
pdfx protect *.pdf --password secret --concurrency 4 -o locked/pdfx huchapisha mstari mmoja, input -> saved, kila faili inapokamilika. Faili iliyoshindwa huripotiwa kwenye hitilafu ya kawaida (standard error) na faili nyingine bado zinakamilika. Bonyeza Ctrl-C mara moja kusimamisha ombi linaloendelea; faili zilizokwisha kuhifadhiwa zinabaki. Ctrl-C ya pili inatoka mara moja kwa msimbo wa 130. Ukitumia --idempotency-key k, kila faili hutuma k:<index>, na kurudia ombi lilelile kunarudisha matokeo ya kwanza kwa saa 24.
Kundi la zana inayorudisha ripoti, kama get-info, haliandiki faili bila -o. Linachapisha ripoti zikiwa zimepangwa kwa faili ya ingizo.
Ninaunganishaje zana kwenye ombi moja?
pdfx pipeline inaendesha zana kadhaa kwenye ombi moja. Rudia --step kwa kila zana. Ili kuweka chaguo, pitisha safu ya JSON kwa --steps.
pdfx pipeline a.pdf b.pdf --step merge --step compress -o out.pdf
pdfx pipeline in.pdf --steps '[{"tool":"watermark","params":{"watermarkText":"DRAFT"}},{"tool":"compress"}]' -o out.pdfHatua haziwezi kutumia zana zinazohitaji faili ya pili.
Ninafunguaje PDF zilizolindwa kwa nenosiri?
--input-password inafungua kwanza kila ingizo lililosimbwa. --password-for <file>=<password> inaweka nenosiri la faili moja. Inaweza kurudiwa, na * kama jina la faili inashughulikia zilizobaki. Hii inafaa kundi lenye faili zilizofungwa na zilizo wazi. Kwa merge na images-to-pdf, kila faili iliyotajwa hufunguliwa kivyake kabla zana haijaendeshwa.
pdfx compress locked.pdf --input-password secret -o out.pdf
pdfx compress report.pdf --password-for report.pdf=secret -o out.pdf
pdfx merge a.pdf b.pdf --password-for a.pdf=secret -o merged.pdfChaguo hizo hizo zinafanya kazi kwenye mnyororo wa zana. Ili kuondoa ulinzi kwa kudumu, tumia zana ya Ondoa nenosiri pamoja na chaguo lake la --password.
Ingizo na towe hufanyaje kazi?
- Ingizo la
-husoma ingizo la kawaida (standard input), mara moja kwa kila uendeshaji.-o -huandika matokeo kwenye towe la kawaida (standard output). -o file.pdfhuandika faili hiyo.-o dir/huandika ndani ya saraka. Saraka ambayo bado haipo inahitaji mkwaju wa mwisho, kwa sababu jina lisilo nao huandikwa kama faili.- Bila
-o, matokeo huenda kwenye saraka ya sasa chini ya jina la faili la seva. - Ndani ya saraka,
pdfxhaiandiki juu ya faili iliyopo kamwe; huchagua jina jipya.-o file.pdfya wazi huandika juu ya faili hiyo. - Jina la faili la
-oambalo kiendelezi chake kinapingana na matokeo, kama ZIP kutokasplitiliyohifadhiwa kama.pdf, hukataliwa kwa msimbo wa kutoka 2 nacode: output_mismatch. Hakuna kinachoandikwa. - Towe lisiloweza kuandikwa ni hitilafu ya matumizi inayogunduliwa kabla ya chochote kupakiwa.
cat in.pdf | pdfx compress - -o - > out.pdf--json huchapisha nini?
Kwa matokeo yaliyohifadhiwa, --json huchapisha njia, aina ya maudhui na ukubwa. Zana inayorudisha ripoti huchapisha ripoti yenyewe. Kundi huchapisha ripoti moja yenye hali kwa kila faili.
{ "path": "one.pdf", "contentType": "application/pdf", "bytes": 1040 }{
"processed": 2,
"unmatched": 0,
"failed": 0,
"files": [
{ "input": "/abs/a.pdf", "ok": true, "path": "comp/a.pdf", "contentType": "application/pdf", "bytes": 1040 }
]
}Faili iliyoshindwa ina error na reason badala ya path na bytes. Zana ya kichujio isiyo na mechi huchapisha { "matched": false }. pdfx list --json huchapisha safu zenye id, category, group, name, description, returns, files na filter.
Ni chaguo zipi zinatumika kwa kila zana?
| Chaguo | Athari |
|---|---|
-o, --output <path> | Faili ya kuandika, au saraka ya kuandikia ndani yake. Chaguomsingi ni saraka ya sasa. - ni towe la kawaida |
--api-base <url> | Anwani ya msingi (origin) ya API. Kigeu cha mazingira PDFX_API_BASE, chaguomsingi https://pdf123.xyz |
--api-key <key> | Hutumwa kama X-API-KEY. Kigeu cha mazingira PDFX_API_KEY. Si lazima |
--input-password <pw> | Hufungua kwanza kila ingizo lililolindwa kwa nenosiri |
--password-for <file>=<pw> | Nenosiri la faili moja. Inaweza kurudiwa |
--concurrency <n> | Idadi ya faili za kundi zinazochakatwa kwa wakati mmoja. Chaguomsingi 2 |
--timeout <ms> | Muda wa juu kwa kila ombi. Chaguomsingi 300000 |
--idempotency-key <k> | Hurudisha matokeo ya kwanza kwa saa 24 |
--json | Towe linalosomeka na mashine |
Misimbo ya kutoka ni ipi?
| Msimbo | Maana |
|---|---|
0 | Mafanikio. Zana ya kichujio isiyo na mechi pia hutoka kwa 0 na huchapisha no match |
1 | Ombi lilishindwa. Kwenye kundi, angalau faili moja ilishindwa; nyingine bado zinakamilika |
2 | Hitilafu ya matumizi. Hakuna kilichopakiwa |
130 | Imekatizwa kwa Ctrl-C. Ombi linaloendelea linasimamishwa |
Kushindwa huchapisha mistari ya reason:, code: na hint: seva inapozitoa, ili hati iweze kuamua bila kulinganisha maandishi. Zana isiyopata cha kurudisha, kama pdf-to-csv kwenye PDF isiyo na majedwali, hutoka kwa 1 pamoja na code: no_content badala ya kuandika faili tupu. Misimbo imeorodheshwa kwenye Misimbo ya hitilafu.
Ninaelekezaje pdfx kwenye seva yangu mwenyewe?
Weka PDFX_API_BASE, au pitisha --api-base, iwe anwani ya pdfx-server uliyojiendeshea mwenyewe. Ongeza PDFX_API_KEY ikiwa seva yako inahitaji ufunguo. Tazama Self-host.
export PDFX_API_BASE=http://localhost:8080
export PDFX_API_KEY=<your-key>
pdfx compress in.pdfNinaendeshaje sehemu ya mwisho ambayo CLI haiijui?
pdfx call inatuma ombi ghafi kwa kitambulisho cha operesheni au njia ya /api/.... Tumia --field name=value kwa sehemu za fomu na --file field=path kwa faili za ziada. Inatuma ombi moja tu na haihakiki chochote ndani ya kompyuta yako, kwa hiyo manenosiri na makundi vinakataliwa.
pdfx call general/merge-pdfs a.pdf b.pdf -o merged.pdf
pdfx call /api/v1/misc/flatten in.pdf --field flattenOnlyForms=true -o flat.pdfKurasa zinazohusiana
- Muhtasari wa waendelezaji wenye REST API na uthibitishaji
- TypeScript SDK, maktaba ambayo mstari wa amri umejengwa juu yake
- Seva za MCP kwa mawakala wa AI
- Chapisho la blogu "pdfx CLI: One Catalog, Called From Your Terminal" kwenye blogu ya PDF123
Maswali yanayoulizwa mara kwa mara
Je, pdfx inafanya kazi bila mtandao?
Hapana. pdfx hupakia kila faili kwa API ya PDF123 au kwa seva yako mwenyewe na kuhifadhi matokeo hapo hapo, kwa hiyo msingi wa API lazima ufikiwe.
Je, pdfx inahitaji ufunguo wa API?
Hapana. Matumizi bila utambulisho yanafanya kazi. Weka PDFX_API_KEY au pitisha --api-key ikiwa seva yako inauhitaji. Ufunguo hutumwa kama kichwa cha X-API-KEY.
pdfx inahitaji toleo gani la Node?
Node 20.3 au mpya zaidi, au Bun.
Je, pdfx itaandika juu ya faili zangu?
Si inapoandika ndani ya saraka: faili iliyopo haiandikwi juu kamwe. Ukitaja mwenyewe faili ya towe kwa -o file.pdf, faili hiyo huandikwa juu, kwa hiyo chagua jina jipya unapotaka kuhifadhi asili.
Nini hutokea zana ya kichujio isipopata mechi?
Zana za kichujio, ambazo vitambulisho vyake vinaanza na filter-, hupitisha faili hali yake inapotimia. Isipotimia, pdfx huchapisha no match na kutoka kwa msimbo wa 0. Kwenye kundi, faili kama hiyo huhesabiwa kama isiyolingana, si iliyoshindwa.