چگونه می توان اندازه پرونده یک فایل PDF اسکن شده را کاهش داد؟


به جواب پذیرفته شده بروید




من یک فایل PDF 72.9MB دارم که باید زیر 500KB آن را کوچک کنم.

پرونده تصویری JPEG بود که من آن را اسکن کرده بودم و سپس به pdf تبدیل کردم.


397









21 :تعداد پاسخها


aking1012 درست است با کسب اطلاعات بیشتر در مورد تصاویر جاسازی شده ، لینک های پیوندی و غیره. پاسخ به این سوال بسیار ساده تر خواهد بود!

در اینجا چند راه حل خط اسکریپت و خط فرمان وجود دارد. همانطور که می بینید از مناسب استفاده کنید.


150


2012-03-16

از دستور Ghostscript زیر استفاده کنید :

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
 
  • -dPDFSETTINGS=/screen کیفیت پایین ، اندازه کوچکتر ( 72 dpi )
  • -dPDFSETTINGS=/ebook برای کیفیت بهتر ، اما پی دی اف های کمی بزرگتر. ( 150 dpi )
  • -dPDFSETTINGS=/prepress خروجی شبیه تنظیمات Acrobat Distiller "Prepress Optimized" ( 300 dpi )
  • -dPDFSETTINGS=/printer خروجی مشابه تنظیمات Acrobat Distiller "Print Optimized" ( 300 dpi ) را انتخاب می کند
  • -dPDFSETTINGS=/default خروجی را در نظر می گیرد که در طیف وسیعی از کاربردها مفید باشد ، احتمالاً با هزینه یک پرونده خروجی بزرگتر ، مفید باشد

546



روش مورد علاقه من برای این کار تبدیل pdf به ps و برگشت است. هرچند همیشه کار نمی کند ، اما وقتی کار می کند نتایج خوب هستند:

 ps2pdf input.pdf output.pdf
 

همانطور که در نظرات پیشنهاد شده است ، این مستقیماً روی pdf نیز کار می کند.

برخی از کاربران همچنین موفقیت بیشتری را هنگام استفاده از تنظیمات کتاب به شرح زیر گزارش می کنند:

 ps2pdf -dPDFSETTINGS=/ebook input.pdf output.pdf 
 

165



اگر یک pdf با تصاویر اسکن شده دارید می توانید convert برای ایجاد یک pdf با فشرده سازی jpeg استفاده کنید (می توانید از این روش در هر پی دی اف استفاده کنید ، اما تمام اطلاعات متن را از دست خواهید داد).

مثلا:

 convert -density 200x200 -quality 60 -compress jpeg input.pdf output.pdf
 

تنظیم چگالی (به عنوان مثال 100x100) و با کیفیت با نیازهای شما.

بسته به نوع ورودی فشرده سازی jpeg شما ممکن است به دلیل مصنوعات فشرده سازی بهترین انتخاب نباشد. شما بین BZip ، Fax ، Group4 ، JPEG ، JPEG2000 ، Lossless ، LZW ، RLE یا Zip به عنوان روش های فشرده سازی جایگزین گزینه ای دارید (برخی فقط تصاویر b / w را مجاز می دانند). برای جزئیات بیشتر اینجا را ببینید .

من توانستم به نسبت فشرده سازی عالی برای اسناد اسکن شده / عکاسی (بسته به تنظیمات) دست یابم. بسته به منبع سند ، ممکن است بخواهید از عمق رنگ ( -depth آرگومان) کم کنید.


130



من نیاز به کم کردن PDF داشتم که حاوی اسکن های کامل رنگ یک سند بود. هر یک از صفحات من تا آنجا که مربوط به پرونده بود ، دارای یک تصویر کامل بودند. آنها تصاویری از صفحات حاوی متن و تصاویر بودند ، اما با اسکن یک تصویر ایجاد می شدند.

من از ترکیبی از دستور Ghostscript زیر و یکی از موضوع دیگر استفاده کردم.

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true \
-dColorImageResolution=150 -dNOPAUSE  -dBATCH -sOutputFile=output.pdf input.pdf
 

این وضوح تصویر را به 150dpi کاهش می دهد ، اندازه پرونده من را به نصف کاهش می دهد. با نگاهی به سند ، تقریباً هیچ کیفیت قابل توجهی از بین نمی رود. متن هنوز در Nexus7 2012 من کاملاً قابل خواندن است.


42



در اینجا اسکریپتی برای بازنویسی پی دی اف اسکن شده وجود دارد:

 #!/bin/sh

gs  -q -dNOPAUSE -dBATCH -dSAFER \
    -sDEVICE=pdfwrite \
    -dCompatibilityLevel=1.3 \
    -dPDFSETTINGS=/screen \
    -dEmbedAllFonts=true \
    -dSubsetFonts=true \
    -dColorImageDownsampleType=/Bicubic \
    -dColorImageResolution=72 \
    -dGrayImageDownsampleType=/Bicubic \
    -dGrayImageResolution=72 \
    -dMonoImageDownsampleType=/Bicubic \
    -dMonoImageResolution=72 \
    -sOutputFile=out.pdf \
     $1
 

شما می توانید آن را کمی سفارشی کنید تا قابل استفاده مجدد شود اما اگر فقط یک pdf دارید ، می توانید فقط $1 نام فایل pdf خود را جایگزین کنید و آن را در ترمینال تنظیم کنید.


30


2010-08-31

من معمولاً برای انجام این کار از ps2pdf استفاده می کنم (نحو آسانتر) ، چیزی شبیه به این:

 ps2pdf -dPDFSETTINGS=/ebook BiggerPdf SmallerPDF
 

من از اسکریپت پایتون زیر استفاده می کنم تا اندازه کلیه پرونده های پی دی اف را به صورت مستقیم در یک سرور تولید کاهش دهم (8.04). بنابراین باید کار کند.

 #!/usr/bin/python

import os

for fich in os.listdir('.'):
        if fich[-3:]=="pdf":
                os.system("ps2pdf -dPDFSETTINGS=/ebook %s reduc/%s" % (fich,fich))
 

23



  1. من از LibreOffice Draw برای باز کردن pdf استفاده می کنم.
  2. سپس "به عنوان pdf صادرات می کنم"
  3. و "کیفیت فشرده سازی jpeg" را روی 50٪ و "وضوح تصویر" را 150 dpi تنظیم کنید

این نتیجه خوبی خواهد داشت.


17



برای من بهترین بود

 convert -compress Zip -density 150x150 input.pdf output.pdf
 

راه های دیگر:

 #### gs
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

### pdf2ps && ps2pdf
pdf2ps input.pdf output.ps && ps2pdf output.ps output.pdf

### Webservice
http://compress.smallpdf.com/de
 

با احترام


10



من فقط خودم با این مشکل روبرو شدم. اگر از اسکن ساده استفاده می کنید ، حالت متن را برای اسکنهای با وضوح پایین انتخاب کنید و نیازی به نگرانی در مورد مسائل مربوط به خط فرمان نیست. فقط گفتن


5



کیفیت تراکم را کنترل کنید:

 #!/bin/sh
INPUT=$1; shift
OUTPUT=$1; shift
GS_BIN=/usr/bin/gs
QFACTOR="0.40"

# Image Compression Quality
#
# Quality HSamples VSamples QFactor
# Minimum [2 1 1 2] [2 1 1 2] 2.40
# Low     [2 1 1 2] [2 1 1 2] 1.30
# Medium  [2 1 1 2] [2 1 1 2] 0.76
# High    [1 1 1 1] [1 1 1 1] 0.40
# Maximum [1 1 1 1] [1 1 1 1] 0.15 

${GS_BIN} -dBATCH -dSAFER -DNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=${OUTPUT} -c "<< /ColorImageDict << /QFactor ${QFACTOR} /Blend 1 /HSample [1 1 1 1] /VSample [1 1 1 1] >> >> setdistillerparams" -f ${INPUT}
 

4



من به شدت توصیه pdfsizeopt .

این است که بسیار کارآمد تر در شرایط کاهش اندازه از هر یک از CLI و GUI نرم افزار قبلی که من سعی کردم (از جمله convert ، gs ، pdftk ، و غیره) - اگر چه احتمالا کندتر با pngout فعال -، و برخی از مسائل خود را ندارند (بدون شدت تصاویر پیکسلی / تخریب شده ، از بین رفتن نشانک ها ، و غیره).

حال اگر نیاز به اندازه معینی از نتیجه (نتیجه تخریب تصاویر به نقطه ای از غیرقابل خواندن) داشته باشید ، ممکن است ابزاری برای شما نباشد ، اما به عنوان یک راه حل همیشه کارآمد ، برای کاهش اندازه های بزرگ غیرضروری در PDF ها بدون از بین رفتن در خوانایی ، اطلاعات و کیفیت تصویر قابل قبول ، به نظر من بهترین گزینه است. (توجه: من تمایل دارم پس از انجام اولین بار برداری-OCR در Adobe Acrobat [عملکردی که قبلاً تحت عنوان "CleanScan" نامیده می شد) از آن استفاده کنم ، که می تواند تأثیر اندازه نمایشی بر برخی از اسناد متنی اسکن شده داشته باشد.)


من نصب یونیکس عمومی را توصیه می کنم :

  1. تمام وابستگی های مورد نیاز را نصب کنید:

  2. اجرایی را بارگیری و نصب کنید:

     curl -L -o https://raw.githubusercontent.com/pts/pdfsizeopt/master/pdfsizeopt.single
    cp pdfsizeopt.single /usr/local/bin/pdfsizeopt
     

طریقه استفاده:

 pdfsizeopt original.pdf [compressed.pdf]
 

توجه داشته باشید برای کاربران Mac که این پست را پیدا می کنند (یا کاربران Linuxbrew): فرمول نصب Homebrew وجود دارد:

 brew install --HEAD pts/utils/pdfsizeopt
 

4



از آنجا که این پیوند برای اولین بار هنگام جستجو در گوگل برای من بود ، فکر کردم یک احتمال دیگر را اضافه کنم. هیچکدام از راه حلهای فوق برای پی دی اف صادر شده از اینکس اسکایپ (15 مگابایت) برای من کار نکرد ، اما من در آخر توانستم با باز کردن آن در GIMP ، آن را به 1 mb کاهش دهم و دوباره به عنوان pdf صادر کنم.

گزینه دیگری که نزدیک بود (اما متن کمی فازی بود) ابزار تبدیل ImageMagick بود:

 convert -compress Zip input.pdf output.pdf
 

3



در پایان من اسکریپت bash خودم را برای حل این مشکل نوشتم ، از آن استفاده می کند mogrify ، convert و gs برای استخراج صفحات pdf به عنوان png ، اندازه گیری مجدد آنها ، تبدیل آنها به bmp 1-bit و سپس دوباره آنها را به عنوان pdf بازسازی می کند. کاهش اندازه پرونده می تواند بیش از 90٪ باشد. در http://www.timedicer.co.uk/programs/help/pdf-compress.sh.php موجود است .


3



من با همین مشکل روبرو شدم و خوشحال شدم که این موضوع را پیدا کردم. به طور خاص من یک pdf تولید شده از تصاویر اسکن شده داشتم و نیاز داشتم که اندازه بایت آن را با ضریب 6 کاهش دهم.

متأسفانه ، هیچ یک از راه حلهای فوق کار نکرد :(. سپس من فهمیدم که در جایی از فرآیند اسکنر-> jpeg-> pdf اندازه صفحه توسط عاملی از aprx 4. نفخ شده است. اسنادی که اسکن کردم همه نامه های بزرگ بودند ، اما پی دی اف اندازه آن

 identify -verbose doc_orig.pdf | grep "Print size"
 Print size: 35.4167x48.7222
 

من در نهایت با یک دستور "تبدیل" که هم تغییر اندازه و هم مراحل فشرده سازی را در یک انجام داد ، نتایج دلخواه را بدست آوردم:

 convert -density 135x135 -quality 70 -compress jpeg -resize 22.588% doc_orig.pdf doc_lowres.pdf
 

توجه داشته باشید که doc_orig دارای چگالی 72x72 dpi بود.


2



اگر تبدیل به djvu نیز خوب باشد و اگر هیچ رنگی در آن دخیل نبود ، می توانید موارد زیر را امتحان کنید:

با استفاده از پی دی اف به پرونده های jpg تبدیل کنید pdfimages -j

اگر به جای آن فایلهای pbm گرفتید ، باید مرحله میانی را انجام دهید:

for FILENAME in $(ls *.pbm); do convert $FILENAME ${FILENAME%.*}.jpg ;done

دستور Convert از بسته imagemagick است.

سپس از scantailor استفاده کنید تا tif از آن خارج شود.

در آخرین مرحله شما به سراغ راهنمای مستقیم (جایی که tif در آن قرار دارد) بروید و djvubind را در آن فهرست قرار دهید.

این باید پرونده سازی را بدون افت کیفیت زیادی از متن به شدت کاهش دهد. اگر می خواهید کنترل بیشتری بر روی پس زمینه ocr داشته باشید ، ممکن است سعی کنید djvubind --no-ocr از ocrodjvu استفاده کنید تا لایه ocr را بعد از آن اضافه کنید.

اگر در سند خود رنگی دارید ، پیچیده تر می شوید. به جای djvubind می توانید از didjvu استفاده کنید و در scantailor باید به حالت مختلط تغییر کرده و گاهی اوقات تصاویر رنگی را به صورت دستی انتخاب کنید.


1



بارگیری تصویر یا حتی پرونده pdf به inkscape.

از inkscape: در قالب بردار ذخیره کنید (به عنوان بومی .svg).

فایلهای بردار را به scribus وارد کنید ، طرح را ویرایش کنید و به عنوان .pdf از آنجا صادر کنید / ذخیره کنید


1


2013-07-28

ابزار فشرده سازی PDF فوق العاده ساده: صفحه GitHub.

نصب در اوبونتو:

 sudo add-apt-repository ppa:jfswitz/released

sudo apt-get update

sudo apt-get install pdf-compressor
 

از Ghostscript استفاده می کند.


0



می توانید این را امتحان کنید:

 $ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf
 

در این حالت سریعتر از gs فشرده سازی تا 30٪ برای پرونده ورودی 107.5MiB است.


0



برای من screen گزینه gs خیلی بد بود و ebook یکی هم خیلی بزرگ.

سند اصلی من شامل متن به عنوان تصاویر رنگی و سیاه و سفید (بسته به صفحه) است.

بهترین راه حل من این است که:

 gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dDownsampleColorImages=true -dDownsampleGrayImages=true -dDownsampleMonoImages=true -dColorImageResolution=130 -dGrayImageResolution=130 -dMonoImageResolution=130 -r130 -dNOPAUSE  -dBATCH -sOutputFile=output_lr.pdf input.pdf
 

توجه داشته باشید که سطح فشرده سازی خطی نیست. اگر من 135 را مشخص کردم فشرده سازی نمی شود ، من 130 مورد را پیدا کردم که (در مورد من) حداکثر رزولوشن حاصل از فشرده سازی است.


0



من از دستورات زیر استفاده کردم اما فایل پی دی اف من را فشرده نکرد. بعضی اوقات بعضی از قسمتها بعد از فشرده سازی سیاه شد.

  1. gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf $INPUTFILE

  2. "ps2pdf -dPDFSETTINGS=/ebook %s %s" % (input_file_path, out_file_path)

بعد از سرگردان شدن بیش از حد در وب ، من نتوانستم کتابخانه فشرده سازی مناسب را پیدا کنم. من در سراسر آمد pdfcompressor.com . این وب سایت فقط عالی است این پی دی اف را 95٪ (15Mb پرونده) فشرده می کند. بنابراین من برای اتوماسیون فشرده سازی از سلنیوم و Tor استفاده کردم. مخزن Github من را پرداخت کنید. [GITHUB] ( https://github.com/gugli28/PdfCompressor )


-1



انتشارات مرتبط


چگونه می توانم محتویات پرونده tar.gz را بدون استخراج از خط فرمان مشاهده کنم؟

چگونه اندازه پرونده های بازگشتی پرونده ها و دایرکتوری ها را در یک فهرست قرار دهیم؟

چگونه اندازه پرونده pdf را کاهش دهیم؟

چگونه می توانم اندازه فشرده سازی فایل زیپ را بدون فشرده سازی آن تعیین کنم؟

چگونه می توان اندازه یک تصویر را از خط فرمان تعیین کرد؟

چگونه می توان اندازه مبادله را با پارتیشن های LVM تغییر داد؟

چگونه می توان اندازه آیکون های پرتاب Unity 2D را تغییر داد؟

چگونه می توانم رمزگذاری یک فایل زیرنویس را تغییر دهم؟

چگونگی کاهش اندازه fillrd.img در اوبونتو 13.04

چگونه می توانم به صورت بازگشتی Md5sum همه پرونده های موجود در یک فهرست و زیرشاخه های آن را لیست کنم؟ [تکثیر]

[pdf] سوال برچسب


چگونه می توانم با استفاده از خط فرمان ، کاربر جدیدی را به عنوان sudoer اضافه کنم؟

چگونه می توانم با استفاده از ترمینال ، محتوای پوشه را در پوشه دیگری در یک پوشه دیگر کپی کنید؟

متن را با استفاده از دستورات متن را پیدا کرده و جایگزین کنید

چگونه می توانم رمزعبور اداری گمشده را تنظیم مجدد کنم؟

چکمه رایانه من به صفحه سیاه است ، چه گزینه هایی برای رفع آن دارم؟

چگونه می توانم کلید عمومی را از یک کلید خصوصی SSH بازیابی کنم؟

چگونه می توان اندازه پرونده یک فایل PDF اسکن شده را کاهش داد؟

چگونه می توانم از خط فرمان حالت تعلیق / خواب زمستانی بگیرم؟

فرایند "whoopsie" چیست و چگونه می توانم آن را حذف کنم؟

چگونه می توان لیست سرویس های فعال شده را از systemctl لیست کرد؟