බහු පී.ඩී.එෆ් ගොනු එක් පී.ඩී.එෆ් බවට ඒකාබද්ධ කරන්න / පරිවර්තනය කරන්න


1105

බහු PDF ගොනු එක් විශාල PDF ගොනුවක් බවට ඒකාබද්ධ කරන්නේ කෙසේද?

මම පහත සඳහන් දෑ අත්හදා බැලුවෙමි, නමුත් ඉලක්ක ගොනුවේ අන්තර්ගතය බලාපොරොත්තු වූ තරම් නොවේ:

convert file1.pdf file2.pdf merged.pdf

මට ඉතා සරල / මූලික විධාන රේඛාවක් (CLI) විසඳුමක් අවශ්‍යයි. හොඳම දෙය නම් ඒකාබද්ධයේ ප්‍රතිදානය පයිප්ප / කෙලින්ම පරිවර්තනය කළ හැකි නම් pdf2ps(මුලින් මා කලින් ඇසූ ප්‍රශ්නයට උත්සාහ කළ පරිදි: ලිනක්ස් පයිප්ප (පරිවර්තනය -> pdf2ps -> lp) ).


3
ymmv, නමුත් මෙය ප්‍රතිදාන ගොනුවේ pdfunite තරම් හොඳ විභේදනයක් ඇති බවක් නොපෙනෙන අතර එය pdfunite වෙතින් ලැබෙන ප්‍රතිදානයට වඩා විශාල ගොනු ප්‍රමාණයක් ඇති කරයි
sabujp


මෙම විසඳුම් මගින් සබැඳි සංරක්ෂණය කර තිබේද නැද්ද යන්න මෙම ලිපියෙන් සාකච්ඡා කෙරේ . ඔබට සබැඳි ආරක්ෂා කර ගැනීමට අවශ්‍ය නම් (බොහෝ විට වෙනත් විවරණ සමඟ), විධාන රේඛා අතුරුමුහුණතක් අවශ්‍ය නම් pdftk භාවිතා කරන්න, ඔබට චිත්‍රක පරිශීලක අතුරුමුහුණතක් අවශ්‍ය නම් pdfsam, ඔබට වෙබ් අතුරු මුහුණතක් අවශ්‍ය නම් sejda.
ක්ලෙමන්ට්

Answers:


1433

බව සලකා pdfunitepoppler කොටසක් එය ස්ථාපනය කිරීමට වැඩි අවස්ථාවක් ඇත, භාවිතය ද වඩා සරල වේ pdftk:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

21
එය වේගවත් ය, නමුත් එය අධි සබැඳි බිඳ දමයි. Blog.dbrgn.ch/2013/8/14/merge-multiple-pdfs
ඩැනිලෝ

434
Out.pdf ලබා දීමට ඔබට මතක ඇති බවට වග බලා ගන්න, නැතිනම් එය ඔබගේ විධානයෙහි ඇති අවසාන ගොනුව නැවත ලියයි, සුසුම්ලන්න.
මිලිස්නර්

10
pdfunite සඳහා වන පැකේජය ඩෙබියන් භාෂාවෙන් පොප්ලර්-යූටිල්ස් වන නමුත් පැරණි ඩෙබියන් නිකුතු වල නොතිබිය හැකිය.
ජොසලින් ඩෙලාලන්ඩ්

17
මෙය නිර්දේශ කළ නොහැක. එහි ප්‍රති ing ලයක් ලෙස පී.ඩී.එෆ් හි ප්‍රමාණය විශාල වැඩිය. උදාහරණයක් ලෙස: Pdfunite මට 75MB ගොනුවක් ලබා දෙන අතර Ghostscript සෑම දෙයක්ම 1MB ට ඇසුරුම් කරයි.
ටෝර්බන්

67
ඔබට භාවිතා කළ හැකිය: pdfunite *.pdf out.pdfඑම ඩිරෙක්ටරියේ වෙනත් පීඩීඑෆ් නොමැති බව උපකල්පනය කර ඒවායේ අනුපිළිවෙල "*" මගින් ආරක්ෂා වේ. එය සංරක්ෂණය කර නොමැති නම්, පරාසයන් භාවිතා කිරීම: filename_ {0..9} .pdf එය විසඳයි.
lepe

563

හොඳ අවතාර පිටපත උත්සාහ කරන්න:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf mine1.pdf mine2.pdf

හෝ අඩු විභේදන පී.ඩී.එෆ් සඳහා වැඩි දියුණු කළ අනුවාදයක් සඳහා මේ ආකාරයෙන් (මෙය පෙන්වා දීම ගැන ඇඩ්‍රියානෝට ස්තූතියි):

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged.pdf mine1.pdf mine2.pdf

මෙම අවස්ථා දෙකෙහිම විභේදන විභේදනය පරිවර්ථනය භාවිතා කරමින් වඩා ඉහළ සහ වඩා හොඳය:

convert -density 300x300 -quality 100 mine1.pdf mine2.pdf merged.pdf

මේ ආකාරයෙන් ඔබට වෙනත් කිසිවක් ස්ථාපනය කිරීමට අවශ්‍ය නොවනු ඇත, ඔබ දැනටමත් ඔබේ පද්ධතියේ ස්ථාපනය කර ඇති දේ සමඟ වැඩ කරන්න (අවම වශයෙන් දෙකම පෙරනිමියෙන් මගේ කොටුව තුළට පැමිණේ).

මෙය උපකාරී වේ යැයි සිතමු,

යාවත්කාලීන කිරීම: පළමුවෙන්ම ඔබගේ සියලු යහපත් අදහස් වලට ස්තූතියි !! ඔබට ප්‍රයෝජනවත් විය හැකි ඉඟියක්, ගූගල් කිරීමෙන් පසුව, පී.ඩී.එෆ් ප්‍රමාණය අඩු කිරීමට මට විශිෂ්ට උපක්‍රමයක් හමු විය, මම එය සමඟ එක් පී.ඩී.එෆ් 300 MB එකක් 15 MB දක්වා අඩු කළ හැකි යෝජනාවක් සමඟ අඩු කළෙමි! මේ සියල්ලම හොඳ අවතාර පිටපතක් සමඟ, මෙන්න:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

චියර්ස් !!


28
ලස්සන ඉඟියක්, gsඉතා වේගයෙන් ධාවනය වන අතර එය බොහෝ සම්පීඩනය කරයි. කෙසේ වෙතත්, මම මෙම පරාමිතිය භාවිතා කිරීමෙන් පසු ගුණාත්මක භාවය බොහෝ දියුණු විය:-dPDFSETTINGS=/prepress
ඇඩ්‍රියානෝ පී

3
-dPDFSETTINGS=/prepressපිටු විශාල ලෙස භ්‍රමණය වීමෙන් හා කරදරකාරී තිරස් අනුචලන බාර් වලට බල කරන බව මට පෙනී ගියේය.
රොබට් ස්මිත්

26
ඔබට පහත දැක්වෙන පේළිය එක් කරන්න .bash_profile, ඔබට හොඳ කෙටිමඟක් ඇත: pdfmerge() { gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=$@ ; }මෙය ඔබට යතුරු ලියනය කිරීමක් ඉතිරි කරයි, ඔබට විධානය විශාල වශයෙන් භාවිතා කිරීමට සිදුවුවහොත්. භාවිතය මේ ආකාරයට ය:pdfmerge merged.pdf mine1.pdf mine2.pdf
ටෝර්බන්

2
මම -dBATCH ධජය සඳහා විස්තරයක් සොයා ගැනීමට උත්සාහ කළ නමුත් නොහැකි විය. මිනිසා gs පවා කිසිවක් නොකියයි. නමුත් විශිෂ්ට සහ අමතර වැඩසටහන් නොමැතිව!
මයිකල් ගොන්ඩා

5
මෙම gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged.pdf mine1.pdf mine2.pdfවෙත කෙටි කල හැක gs -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -o merged.pdf mine1.pdf mine2.pdf. සිට Documentation : "පහසු අයුරෙන් ලෙස ඔබ භාවිතා කළ හැකිය -oවිකල්පය ඉහත සාකච්ඡා ලෙස ප්රතිදානය ගොනුව පිරිවිතර අනුගමනය මෙම. -oවිකල්පය ද සකසයි -dBATCHහා -dNOPAUSEවිකල්ප මෙම පතා ඉක්මන් ක්රමයක් ලෙස අදහස් කර ගෙන ඇත. ghostscriptආදාන ගොනු එකක් හෝ වැඩි බවට පරිවර්තනය කිරීමට."
මිනිමැක්ස්

528

මට කණගාටුයි, ගූගල් සහ වාසනාව භාවිතා කරමින් පිළිතුර සොයා ගැනීමට මට හැකි විය :)

උනන්දුවක් දක්වන අය සඳහා;

මම අපගේ ඩෙබියන් සේවාදායකයේ pdftk (pdf මෙවලම් කට්ටලය) ස්ථාපනය කළ අතර, පහත දැක්වෙන විධානය භාවිතා කරමින් මම අපේක්ෂිත ප්‍රති output ල ලබා ගතිමි:

pdftk file1.pdf file2.pdf cat output output.pdf

හෝ

gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf file1.pdf file2.pdf file3.pdf ...

මෙය සෘජුවම pdf2ps වෙත නල කළ හැකිය.


81
හොල්මන් පිටපත භාවිතා කිරීමද වැඩ කළ හැකිය: gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf in1.pdf in2.pdf in3.pdf ...
නේට් කෝල්

16
Pdfk ට සංකේතාත්මක pdf ඒකාබද්ධ කළ හැකි අතර pdfunite cant
තෝමස්

3
පෙරනිමි විකල්පයන් බවට පරිවර්තනය කිරීම සඳහා pdftk සමඟ වඩා හොඳ විභේදනයක් ලබා දේ.
කිරාන් කේ තෙළිකුන්ත

13
pdftk file1.pdf file2.pdf cat output out.pdfඒකාබද්ධ කරන ලද ගොනුව ප්‍රතිදානය කරයිout.pdf
jmiserez

2
pdftkයැපීම නැතිවීම නිසා EL7 පද්ධති සඳහා ලබා ගත නොහැක libgcj.
කෝඩරයක්

80

ඔබට බහුවිධ ලිපිගොනු ඇති අතර නම් එකින් එක ටයිප් කිරීමට අවශ්‍ය නොවන්නේ නම් මෙය පහසුම විසඳුමයි:

qpdf --empty --pages *.pdf -- out.pdf


2
මෙය මෙතෙක් පහසුම බව පෙනේ
බැක්ස්

1
qpdf ලේඛනයේ අධි සබැඳි බිඳ දැමූ බවක් පෙනේ
ඩේවිඩ් ග්‍රාන්ක්විස්ට්

2
ආරම්භ කිරීමට ඇති සංකීර්ණ විකල්පයන් වටා ඔබේ හිස ලබා ගැනීම දුෂ්කර වුවද, qpdf ඉතා පහසු සහ බලවත් මෙවලමකි. මාර්ගගත ලියකියවිලි මෙතැනින්
ජොනතන් හෝල්වි

නිසැකවම වඩාත්ම පහසුය!
වාසනාවන්ත

qpdfවිසඳුමක් සොයමින් මෙහි පැමිණියද එය නැවත සොයා ගැනීම සඳහා ප්‍රලේඛනය නැවත බැලීමට අවශ්‍ය නොවීය, ස්තූතියි.
ප්‍රොමේතියස්

56

pdfjoin a.pdf b.pdfනව නිර්මාණය කරනු ඇත b-joined.pdfa.pdf හා b.pdf අන්තර්ගතය සමග


5
මෙය කදිම හා සංක්ෂිප්ත ය, නමුත් අධි සබැඳි බිඳ දමයි.
දීප්තිමත් තරුව

3
pdfjoin (pdflatex) පිටු විශාල ප්‍රමාණයක් ඇති ගොනු සමඟ අසමත් වේ. පිටු 1k ගොනු සමඟ ඒකාබද්ධ කිරීමට අපොහොසත් විය.
mdrozdziel

pdfjoin විවරණ හෝ අමතර ග්‍රැෆික් නොවන අයිතම බිඳ දමයි
sabujp

9
pdfunite සාමාන්‍යයෙන් හොඳින් ක්‍රියා කරයි, නමුත් එය "ක්‍රියාත්මක නොකළ විශේෂාංගය: සංකේතාත්මක ගොනු ඒකාබද්ධ කිරීමට නොහැකි විය" යනුවෙන් පැවසුවහොත්, pdfjoin කදිම විකල්පයකි. කුමන හේතුවක් නිසා හෝ pdfjoin සංකේතාංකනය ගැන පැමිණිලි නොකරයි.
කැලාෆ්

1
pdfjamපැකේජයට pdfjoinතවදුරටත් ස්ක්‍රිප්ට් ඇතුළත් නොවේ. ඔබට මෙහි
හෙන්රික් පිංගල්

40

ඔබට පරිවර්තන විධානය කෙලින්ම භාවිතා කළ හැකිය,

උදා

convert sub1.pdf sub2.pdf sub3.pdf merged.pdf

41
මෙය අලාභයක් නොවේ.
බෙන් රුයිජ්ල්

12
ඔබට පුළුවන් convert -compress lossless sub1.pdf sub2.pdf sub3.pdf merged.pdf, නමුත් එහි ප්‍රති file ලයක් ලෙස ගොනු විශාලත්වය විශාල විය හැකිය. මම ඒ convert -compress jpeg -quality 90 sub1.pdf sub2.pdf sub3.pdf merged.pdfවෙනුවට යෝජනා කරමි .
arielnmz

21
සෑම දෙයක්ම රාස්ටර් රූප බවට පරිවර්තනය කිරීම මෙයට සම්බන්ධ වන අතර, එය නිසැකවම හොඳම නොවන බව පෙනේ, විශේෂයෙන් පෙළ මත පදනම් වූ PDF සමඟ කටයුතු කිරීමේදී.
jtebert

5
OP ක්‍රියා
විරහිත යැයි

15
ඔබ දෛශිකයේ සිට රාස්ටර් වෙත ගොස් කිසි විටෙකත් ආපසු නොයන්නේ නම් මිස, තැපැල් පිටපත් හෝ පී.ඩී.එෆ්. මෙය මොනතරම් නරක අදහසක්ද යන්න අධි තක්සේරු කිරීම අපහසුය.
markgalassi

36

pdfuniteසම්පූර්ණ පී.ඩී.එෆ් ඒකාබද්ධ කිරීම හොඳයි. ඔබට අවශ්‍ය නම්, උදාහරණයක් ලෙස, file1.pdf වෙතින් 2-7 පිටු සහ file2.pdf වෙතින් පිටු 1,3,4, pdfseparateසෑම පිටුවක් සඳහාම ගොනු වෙන වෙනම PDF වලට බෙදීමට භාවිතා කළ යුතුය pdfunite.

එම අවස්ථාවේදී ඔබට තවත් විකල්ප සහිත වැඩසටහනක් අවශ්‍ය විය හැකිය. qpdfපී.ඩී.එෆ් හැසිරවීම සඳහා මා සොයාගත් හොඳම උපයෝගීතාවයි. pdftkවිශාල හා මන්දගාමී වන අතර gcj මත යැපීම නිසා Red Hat / Fedora එය ඇසුරුම් නොකරන්න. වෙනත් PDF උපයෝගිතා වලට මොනෝ හෝ පයිතන් පරායත්තතා ඇත. මම සොයා qpdfභාවිතා වඩා ඉතා කුඩා ප්රතිදානය ගොනුව ඉදිරිපත් pdfseparateහා pdfuniteඑදිරිව kB 1,6450 පිටුවක් 30-ප්රතිදාන PDF, 970kB බවට පිටු එකලස් කිරීමට. එය තවත් බොහෝ විකල්පයන් ලබා දෙන නිසා, qpdfවිධාන රේඛාව එතරම් සරල නැත; file1 සහ file2 ඒකාබද්ධ කිරීම සඳහා වන මුල් ඉල්ලීම සමඟ කළ හැකිය

qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf

2
මෙච්චරයි. උදාහරණයක් ලෙස පැරබෝලා පැකේජය pdftkමත යැපීම නිසා එය තවදුරටත් ඇසුරුම් නොකෙරේ gcj. පීඩීඑෆ් හැසිරවීමේ මෙවලම් හරහා pacman -Ss pdfසෙවූවත් මට මෙය මඟ හැරුණි. මෙම පිළිතුරට ස්තූතියි! මට වැඩි දියුණුවක් ලැබිය යුතුය, එබැවින් එය යෝජනා සඳහා pdfuniteහෝ ඊට යාබදව පෙන්වයි pdftk.
k.stm

1
මගේ නැවුම් ලිනක්ස් මින්ට් ස්ථාපනය කිරීමේදී, මෙය කිසිදු ස්ථාපනයක් හෝ මාර්ග වෙනස් කිරීමක් අවශ්‍ය නොවී ටර්මිනල් කවුළුව තුළ ක්‍රියාත්මක විය. හොඳයි!
වොලස් කෙලී

මෙය මනාව ක්‍රියාත්මක වූ අතර මා විසින් අත්හදා බැලූ අනෙක් විධානයන් වඩාත් පැහැදිලිව ඒකාබද්ධ කරන ලද ලේඛනයක් ද ලබා දුන්නේය. පෝස්ටයට ස්තූතියි.
Siwoku Adeola

14

Apache PDFBox http://pdfbox.apache.org/

PDFMerger මෙම යෙදුම පීඩීඑෆ් ලේඛන ලැයිස්තුවක් ගෙන ඒවා ඒකාබද්ධ කිරීමෙන් ප්‍රති result ලය නව ලේඛනයක සුරකිනු ඇත.

භාවිතය: java -jar pdfbox-app-xyzjar PDFMerger "මූලාශ්‍ර PDF ගොනු (2 ..n)" "ඉලක්කගත PDF ගොනුව"


11

Python වෙතින් PDF මෙවලම් භාවිතා කරන්න https://pypi.python.org/pypi/pdftools/1.0.6

Tar.gz ගොනුව බාගත කර එය සම්පීඩනය කර පහත දැක්වෙන විධානය ක්‍රියාත්මක කරන්න

python pdftools-1.1.0/pdfmerge.py -o output.pdf -d file1.pdf file2.pdf file3 

ඉහත විධානය ක්‍රියාත්මක කිරීමට පෙර ඔබ pyhton3 ස්ථාපනය කළ යුතුය

මෙම මෙවලම් පහත දැක්වේ

  • එකතු කරන්න
  • ඇතුළු කරන්න
  • ඉවත් කරන්න
  • කරකවන්න
  • බෙදුණු
  • ඒකාබද්ධ කරන්න
  • සිප්

පහත සබැඳියෙන් ඔබට වැඩි විස්තර සොයාගත හැකි අතර එය විවෘත මූලාශ්‍රයකි

https://github.com/MrLeeh/pdftools


මෙය පරිපූර්ණයි. භාවිතා කිරීම gs(ඉහත ලැයිස්තුගත කර ඇති සියලුම ප්‍රභේද), සරල පී.ඩී.එෆ් දෙකක්, 2MB සහ 500Kb ඒකාබද්ධ කිරීම සම්පූර්ණ කිරීමට මිනිත්තු කිහිපයක් ගත වූ අතර එහි ප්‍රති 40 ලයක් ලෙස 40MB ගොනුවක් ලැබුණි! pdftoolsසමාන ගොනු ප්‍රමාණයෙන් ක්ෂණිකව සම්පූර්ණ කරයි.
supergra

10

ඔබට සෙජ්ඩා-කොන්සෝලය , නිදහස් හා විවෘත මූලාශ්‍ර භාවිතා කළ හැකිය . එය ඉවත් කර ධාවනය කරන්න sejda-console merge -f file1.pdf file2.pdf -o merged.pdf

එය පිටු සලකුණු, සම්බන්ධක විවරණ, ඇක්‍රොෆෝම් යනාදිය ආරක්ෂා කරයි. ඇත්ත වශයෙන්ම ඔබට සෙල්ලම් කළ හැකි විකල්ප රාශියක් ඇත, sejda-console merge -hඒවා සියල්ලම බැලීමට දුවන්න .


OMHO මෙම ආකාරයේ කාර්යයන් කිරීමට හොඳම මෙවලම
mario ruiz

8

බාගත කළ සියලුම පින්තූර එක් පීඩීඑෆ් බවට පරිවර්තනය කිරීමට ඔබට අවශ්‍ය නම් ක්‍රියාත්මක කරන්න

convert img{0..19}.jpg slides.pdf


6
ඔබ දෛශිකයේ සිට රාස්ටර් වෙත ගොස් කිසි විටෙකත් ආපසු නොයන්නේ නම් මිස, තැපැල් පිටපත් හෝ පී.ඩී.එෆ්. මෙය මොනතරම් නරක අදහසක්ද යන්න අධි තක්සේරු කිරීම අපහසුය.
markgalassi

6

මම දෙවන pdfuniteනිර්දේශය. මම කෙසේ වෙතත් ඒ වෙලාවේ ඒ Argument list too longමම> 2k පී.ඩී.එෆ් ගොනු ඒකාබද්ධ කිරීමට උත්සාහ දරමින් සිටි ලෙස වැරදි.

මම මේ සඳහා පයිතන් වෙත හැරුනෙමි සහ බාහිර පැකේජ දෙකක්: PyPDF2 (PDF සම්බන්ධ සියලු දේ හැසිරවීමට) සහ natsort (ඩිරෙක්ටරියේ ගොනු නාමවල “ස්වාභාවික” වර්ගයක් කිරීමට). මෙය යමෙකුට උපකාර කළ හැකි නම්:

from PyPDF2 import PdfFileMerger
import natsort
import os

DIR = "dir-with-pdfs/"
OUTPUT = "output.pdf"

file_list = filter(lambda f: f.endswith('.pdf'), os.listdir(DIR))
file_list = natsort.natsorted(file_list)

# 'strict' used because of
# https://github.com/mstamy2/PyPDF2/issues/244#issuecomment-206952235
merger = PdfFileMerger(strict=False)

for f_name in file_list:
  f = open(os.path.join(DIR, f_name), "rb")
  merger.append(f)

output = open(OUTPUT, "wb")
merger.write(output)

6
"තර්ක ලැයිස්තුව දිග වැඩිය" යන්නෙන් ඇඟවෙන්නේ ඔබ පරිසරය සඳහා වෙන් කර ඇති බෆරයේ ප්‍රමාණය ඉක්මවා යන බවයි - එය ඇත්ත වශයෙන්ම මෙවලමෙහි සීමාවක් නොවේ. එවැනි අවස්ථාවක, පයිතන් වෙත මාරුවීම අධික ලෙස මරණයට පත්විය හැකිය, මන්ද ඔබට එය කාණ්ඩගත කළ හැකි බැවිනි: ආදාන-නම * .pdf | xargs -P1 -n500 sh -c 'pdfunite "$ @" output- date +%s.pdf' && pdfunite output - *. , සහ සුදුසු ප්‍රතිදාන ගොනුවක් නිෂ්පාදනය කරන්න; ඔබට පසුව තාවකාලික ලිපිගොනු පිරිසිදු කළ යුතුය)
enkiv2

4

මෙන්න මම භාවිතා කරන ක්‍රමයක් ක්‍රියාත්මක වන අතර ක්‍රියාත්මක කිරීමට පහසුය. මෙයට බාගත කළ හැකි fpdf සහ fpdi පුස්තකාල දෙකම අවශ්‍ය වේ :

require('fpdf.php');
require('fpdi.php');

$files = ['doc1.pdf', 'doc2.pdf', 'doc3.pdf'];

$pdf = new FPDI();

foreach ($files as $file) {
    $pdf->setSourceFile($file);
    $tpl = $pdf->importPage(1, '/MediaBox');
    $pdf->addPage();
    $pdf->useTemplate($tpl);
}

$pdf->Output('F','merged.pdf');

4

මම පක්ෂග්‍රාහීව සිටින්නේ PyMuPDF (MuPDF හි පයිතන් බන්ධනය) හි සංවර්ධකයෙකු ලෙසය.

ඔබට එය සමඟ ඔබට අවශ්‍ය දේ පහසුවෙන් කළ හැකිය (සහ තවත් බොහෝ දේ). ඇටසැකිලි කේතය මේ ආකාරයට ක්‍රියා කරයි:

#-------------------------------------------------
import fitz         # the binding PyMuPDF
fout = fitz.open()  # new PDF for joined output
flist = ["1.pdf", "2.pdf", ...]  # list of filenames to be joined

for f in flist:
    fin = fitz.open(f)  # open an input file
    fout.insertPDF(fin) # append f
    fin.close()

fout.save("joined.pdf")
#-------------------------------------------------

ඒ ගැන ය. පිටු පරාසයන් පමණක් තෝරා ගැනීම, ඒකාබද්ධ අන්තර්ගත වගුවක් පවත්වා ගැනීම, පිටු අනුක්‍රමය ආපසු හැරවීම හෝ පිටු භ්‍රමණය වෙනස් කිරීම යනාදිය සඳහා විකල්ප කිහිපයක් තිබේ.

අපි ඉන්නේ පයිපී වල.


3

මම චැස්මෝගේ අදහසට කැමතියි, නමුත් වැනි දේවල වාසි භාවිතා කිරීමට මම කැමැත්තෙමි

convert $(ls *.pdf) ../merged.pdf

බහු මූලාශ්‍ර ලිපිගොනු ලබා දීමෙන් convertඒවා පොදු පීඩීඑෆ් සමඟ ඒකාබද්ධ වේ. මෙම විධානය මඟින් සියලුම ලිපිගොනු .pdfසත්‍ය නාමාවලියෙහි දිගුව සමඟ merged.pdfමව් ඩිරයට ඒකාබද්ධ කරයි .


5
මෙය මුල් ප්‍රශ්නයට කෙතරම් සමානදැයි බැලූ විට, මෙය පිළිතුරක් නොව අදහස් දැක්වීමක් විය යුතු බව පෙනේ. තව ටිකක් නියෝජිතයින් සමඟ, ඔබට අදහස් පළ කිරීමට හැකි වනු ඇත . එතෙක් කරුණාකර පිළිතුරු විසඳුමක් ලෙස භාවිතා නොකරන්න.
නේතන් ටග්ගී

1
Il සිල්ෆීඩ් නැත, එය ප්‍රශ්නයට පිළිතුරු සපයයි! පිළිතුර සමහර විට වඩාත් සවිස්තරාත්මක විය යුතුය.
පීටර් - මොනිකා නැවත ස්ථාපනය කරන්න

7
ඔබ දෛශිකයේ සිට රාස්ටර් වෙත ගොස් කිසි විටෙකත් ආපසු නොයන්නේ නම් මිස, තැපැල් පිටපත් හෝ පී.ඩී.එෆ්. මෙය මොනතරම් නරක අදහසක්ද යන්න අධි තක්සේරු කිරීම අපහසුය.
markgalassi

13
$(ls *.pdf)සරල ආදේශක කාඩ්පත වෙනුවට භාවිතා කිරීමේ තේරුම *.pdfකුමක්ද?
firegurafiku

@Firegurafiku පිළිතුරට අමතරව, ls *.pdfආදේශක කාඩ්පත සමඟ ඒකාබද්ධ කළ ලිපිගොනු අනුපිළිවෙල පාලනය කිරීම ඔබට අහිමි වේ. උදාහරණයක් ලෙස, පහත ලැයිස්තුව: 1.pdf, 2.pdf, 3.pdf, ..., 10.pdf, ..., 100.pdf ඇත්ත වශයෙන්ම 1.pdf, 10.pdf, 100 වැනි ඒකාබද්ධ වේ. pdf, 2.pdf, 3.pdf (පෙරනිමි ලිනක්ස් ලිපිගොනු ඇණවුම් කිරීමේ ක්‍රමය නිසා - මෙහි ඔබට මෙම ගැටළුව පිළිබඳ වැඩි විස්තර ඇත - stackoverflow.com/q/22948042/1977012 ).
එගල්

3

නිදහස් හා විවෘත මූලාශ්‍ර pdftools භාවිතා කිරීම ඔබට දැක ගත හැකිය (වියාචනය: මම එහි කර්තෘ).

එය මූලික වශයෙන් ලැටෙක්ස් pdfpagesපැකේජයට පයිතන් අතුරුමුහුණතක් වේ .

පීඩීඑෆ් ගොනු එකින් එක ඒකාබද්ධ කිරීම සඳහා, ඔබට ධාවනය කළ හැකිය:

pdftools --input-file file1.pdf --input-file file2.pdf --output output.pdf

සියලුම පීඩීඑෆ් ගොනු ඩිරෙක්ටරියක් තුළ ඒකාබද්ධ කිරීම සඳහා, ඔබට ධාවනය කළ හැකිය:

pdftools --input-dir ./dir_with_pdfs --output output.pdf

2

එය විධාන රේඛා විසඳුමක් නොවුනත්, එය macosපරිශීලකයින්ට උදව් විය හැකිය :

  1. ඔබේ PDF ගොනු තෝරන්න
  2. ඔබගේ උද්දීපනය කළ ගොනු මත දකුණු-ක්ලික් කරන්න
  3. ඉක්මන් ක්‍රියා > PDF සාදන්න තෝරන්න
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.