నా PDF ఎందుకు కొంచెమే తగ్గింది?
నా PDFని కంప్రెసర్లో వేస్తే 4.1 MB నుంచి 4.0 MBకి మాత్రమే వచ్చింది. టూల్ పాడైపోయిందా?
PDF అంటే ఒక ఫైలింగ్ కేబినెట్
నిరాశకు కారణమయ్యే ఆలోచన ఏమిటంటే — PDF అంటే డాక్యుమెంట్ ఫొటో అనుకోవడం. అది కాదు. ISO 32000 నిర్వచించినట్టు, PDF అంటే నంబర్లు వేసిన ఆబ్జెక్ట్ల కంటైనర్: పేజ్ ట్రీలు, డ్రాయింగ్ ఆపరేటర్లతో నిండిన కంటెంట్ స్ట్రీమ్లు, ఎంబెడ్ చేసిన ఫాంట్ ప్రోగ్రామ్లు, ఇమేజ్ XObjectలు, ఫారం ఫీల్డ్లు, అనోటేషన్లు, ఔట్లైన్లు, ఇంకా ఏ ఆబ్జెక్ట్ ఎక్కడ మొదలవుతుందో చెప్పే క్రాస్-రిఫరెన్స్ టేబుల్.
వాటిలో చాలా ఆబ్జెక్ట్లు అప్పటికే కంప్రెస్ అయి ఉంటాయి. కంటెంట్ స్ట్రీమ్లు సాధారణంగా Flate-ఎన్కోడ్ అయి ఉంటాయి — ZIP ఫైల్ వాడే అల్గారిథమే అది. ఎంబెడ్ చేసిన ఫొటోలు సాధారణంగా DCT స్ట్రీమ్లుగా ఉంటాయి, అంటే మార్పులేకుండా అలాగే పంపిన JPEG డేటా. కాబట్టి సాధారణ కంప్రెసర్ ఒక PDFని చూసినప్పుడు, అది చూస్తున్నది ఇప్పటికే ఒకసారి కంప్రెస్ అయిన వస్తువుల పెట్టెను.
కంప్రెస్ చేయడానికి ముందు బైట్లు ఎక్కడ ఉన్నాయో తెలుసుకోండి
అన్నిటికన్నా ఉపయోగకరమైన పరీక్ష ఏమిటంటే — మీ దగ్గరున్నది ఏ రకమైన డాక్యుమెంటో తెలుసుకోవడం, ఎందుకంటే ఫలితాన్ని దాదాపు పూర్తిగా అదే ముందే చెప్పేస్తుంది.
| డాక్యుమెంట్ రకం | బైట్లు ఎక్కడ ఉన్నాయి | స్ట్రక్చరల్ సేవ్ ఏం చేయగలదు |
|---|---|---|
| వర్డ్ ప్రాసెసర్ నుంచి వచ్చిన టెక్స్ట్ రిపోర్ట్ | ఎంబెడ్ చేసిన ఫాంట్ ప్రోగ్రామ్లు, చిన్న కంటెంట్ స్ట్రీమ్లు | చాలా తక్కువ; కంటెంట్ అప్పటికే దట్టంగా ఉంది |
| స్కాన్ చేసిన పేజీలు | పేజీకి ఒక పెద్ద ఇమేజ్ | ఇమేజ్లను ముట్టుకోకుండా దాదాపు ఏమీ లేదు |
| ప్రెజెంటేషన్ ఎక్స్పోర్ట్ | ఎంబెడ్ చేసిన ఫొటోలు, గ్రేడియంట్లు | స్లయిడ్ల మధ్య ఇమేజ్లు పునరావృతమైతే కొంత |
| ఇంజినీరింగ్ డ్రాయింగ్ | పొడవైన వెక్టార్ కంటెంట్ స్ట్రీమ్లు | స్ట్రీమ్లను మళ్ళీ ఎన్కోడ్ చేసి, వాడని ఆబ్జెక్ట్లను తీసేసి కొంత |
| అటాచ్మెంట్లు ఉన్న ఫారం | ఎంబెడ్ చేసిన ఫైల్లు, JavaScript, అనోటేషన్ డిక్షనరీలు | ఆ అదనపు వాటిని తీసేయగలిగితే చాలా ఎక్కువ |
స్ట్రక్చరల్ సేవ్ నిజంగా దేన్ని తీసేస్తుంది
స్ట్రక్చరల్ సేవ్ ఏ పేజీ ఎలా కనిపిస్తుందో దాన్ని మార్చకుండానే డాక్యుమెంట్ను మళ్ళీ రాస్తుంది. ఇక ఏదీ సూచించని ఆబ్జెక్ట్లను అది తీసేయగలదు — డాక్యుమెంట్ను ఎడిట్ చేసి ఇంక్రిమెంటల్గా సేవ్ చేసిన ప్రతిసారీ అవి పోగవుతూ ఉంటాయి. క్రాస్-రిఫరెన్స్ టేబుల్ను కంప్రెస్ చేసి, చిన్న ఆబ్జెక్ట్లను ఆబ్జెక్ట్ స్ట్రీమ్లలోకి సర్దగలదు. డాక్యుమెంట్ మెటాడేటాను, థంబ్నెయిల్లను, కొన్ని ప్రొడ్యూసర్లు వదిలేసే ఎడిటింగ్ చరిత్రను తీసేయగలదు.
చాలాసార్లు ఎడిట్ చేసి మళ్ళీ సేవ్ చేసిన డాక్యుమెంట్లో అది పెద్ద లాభమే కావచ్చు. కానీ వర్డ్ ప్రాసెసర్ నుంచి ఒక్కసారే శుభ్రంగా ఎక్స్పోర్ట్ చేసిన డాక్యుమెంట్లో పోగేసుకోవడానికి ఏమీ ఉండదు: ఫైల్ అప్పటికే తన అతి చిన్న రూపానికి దగ్గరగా ఉంది, నాలుగు మెగాబైట్ల నుంచి వంద కిలోబైట్లు తగ్గడమే ఆశించాల్సిన ఫలితం.
టెక్స్ట్ డాక్యుమెంట్ ఎందుకు తగ్గదు
టెక్స్ట్ PDFలో ఫైల్లో పెద్ద భాగం సాధారణంగా ఎంబెడ్ చేసిన ఫాంట్లే. ఫాంట్ ప్రోగ్రామ్ అంటే గ్లిఫ్ ఔట్లైన్లు, హింటింగ్ సూచనలు ఉన్న ఒక కాంపాక్ట్ బైనరీ; ఆ టైప్ఫేస్ ఇన్స్టాల్ కాని మెషీన్లో కూడా డాక్యుమెంట్ అచ్చం అలాగే కనిపించాలి కాబట్టి అది అక్కడ ఉంటుంది. దాన్ని ఇంకా సబ్సెట్ చేయకుండా లేదా తీసేయకుండా కంప్రెస్ చేసి పోగొట్టలేరు, తీసేస్తే పేజీ కనిపించే తీరు మారిపోతుంది.
టెక్స్ట్ మాత్రం చాలా చిన్నది. వంద పేజీల వచనం అంటే కంప్రెషన్కు ముందే కొన్ని వందల కిలోబైట్ల అక్షరాలు. మీ టెక్స్ట్ PDF పెద్దదిగా ఉంటే, పదాల వైపు కాకుండా ఫాంట్ల వైపూ, టెక్స్ట్ వెనుక దాక్కున్న ఇమేజ్ల వైపూ చూడండి — హెడర్లో పదే పదే వచ్చే లోగో, బ్యాక్గ్రౌండ్ వాటర్మార్క్ లాంటివి.
స్కాన్ ఎందుకు కుప్పకూలుతుంది
స్కాన్ చేసిన పేజీ అంటే ఒక కాగితం ముక్క పెద్ద ఫొటో, తరచూ ఇంచుకు 300 చుక్కలు లేదా అంతకంటే ఎక్కువ రిజల్యూషన్లో తీసినది. 300 DPI వద్ద A4 పేజీ దాదాపు 2480 × 3508 పిక్సెల్స్ — దాదాపు 90 లక్షల పిక్సెల్స్, ఆ పేజీలోని సమాచారం మాత్రం కొన్ని కిలోబైట్ల టెక్స్ట్. అందుకే రాస్టరైజ్డ్ కంప్రెషన్కు స్కాన్లు అంత నాటకీయంగా స్పందిస్తాయి: రెండర్ రిజల్యూషన్ను తగ్గించి పేజీ ఇమేజ్లను మళ్ళీ ఎన్కోడ్ చేయడం ఫైల్లో నిజంగా పెద్దగా ఉన్న భాగంపైనే దాడి చేస్తుంది.
ఆ మోడ్ విధ్వంసకరం కావడానికి కూడా ఇదే కారణం. పేజీ ఒకసారి బొమ్మగా మారిపోయాక, వెతకగలిగే టెక్స్ట్ లేయర్, లింక్లు, ఫారం ఫీల్డ్లు, అనోటేషన్లు, ట్యాగ్ చేసిన యాక్సెసిబిలిటీ నిర్మాణం, ఏదైనా డిజిటల్ సంతకం — అన్నీ పోతాయి. స్ట్రక్చరల్ సేవ్ నిరాశపరిచినప్పుడు నిశ్శబ్దంగా వాడే ప్రత్యామ్నాయంగా కాకుండా, ఆ హెచ్చరికతో సహా విడిగా, స్పష్టంగా లేబుల్ చేసిన మోడ్గానే FileSlimmer రాస్టరైజేషన్ను ఇస్తుంది.
మీకు ఒక సంఖ్యను ఎవరూ ఎందుకు హామీ ఇవ్వలేరు
PDFకి టార్గెట్ సైజు అంటే రెండర్ రిజల్యూషన్, ఇమేజ్ క్వాలిటీల మీద జరిపే ఒక అన్వేషణ, ఆ అన్వేషణకు ఒక అడుగు స్థాయి ఉంటుంది: ఒక రిజల్యూషన్ కంటే కిందికి వెళ్తే స్కాన్లోని టెక్స్ట్ చదవడానికి రాదు. ఆ స్థాయికి పైన ఒక డాక్యుమెంట్ ఒక నిర్దిష్ట బడ్జెట్కు చేరుతుందా లేదా అనేది పేజీల సంఖ్య, ఇంక్ కవరేజ్, ఫొటోగ్రాఫిక్ కంటెంట్ ఎంత ఉంది, స్కానర్ నాయిస్ — వీటిపై ఆధారపడుతుంది. ఒకే పేజీల సంఖ్య ఉన్న రెండు డాక్యుమెంట్లు చాలా వేర్వేరు సైజుల్లో ముగియవచ్చు.
నిజాయితీగల ప్రవర్తన ఏమిటంటే ఆ అడుగు స్థాయి దగ్గర ఆగి, అన్వేషణ ఎక్కడ ఆగిందో చెప్పడం — FileSlimmer PDF టార్గెట్ ప్రీసెట్లు చేసేది అదే. మీరు టైప్ చేసిన సంఖ్యను ఎప్పుడూ అందుకునే టూల్ ఆ సంఖ్య గురించి అబద్ధం చెబుతోంది, లేదా దాన్ని అందుకోవడానికి డాక్యుమెంట్ను నాశనం చేస్తోంది.
టూల్ను తప్పుపట్టే ముందు
- PDF స్కానా కాదా చూడండి. ఒక వాక్యాన్ని సెలెక్ట్ చేయడానికి ప్రయత్నించండి: కర్సర్ ఏదీ సెలెక్ట్ చేయకపోతే ప్రతి పేజీ ఒక ఇమేజ్.
- సైజుతో పోలిస్తే పేజీల సంఖ్య చూడండి. మూడు పేజీల 40 MB ఫైల్ ఇమేజ్లతో నిండినది; 900 పేజీల 40 MB ఫైల్ పూర్తిగా సహేతుకమే కావచ్చు.
- డాక్యుమెంట్ ఎన్క్రిప్ట్ అయిందా చూడండి. పాస్వర్డ్తో రక్షించిన PDFను అన్లాక్ చేసేవరకు అసలు పునర్నిర్మించలేం.
- దానిపై సంతకం ఉందా చూడండి. సంతకమున్న డాక్యుమెంట్ను మళ్ళీ రాస్తే సంతకం చెల్లదు, ఫైల్ పెద్దగా ఉండటం కంటే అది సాధారణంగా ఘోరమైన ఫలితం.
- మీకు నిజంగా ఏం కావాలో చూడండి. తొంభై పేజీలనూ కంప్రెస్ చేయడం కంటే, పంపాల్సిన ఆరు పేజీలను విడిగా తీయడమే తరచూ మేలు.
దీనికి పనికొచ్చే టూల్స్
మూలాలు
- ISO 32000-2 — Document management, Portable Document Format
- Adobe — PDF 32000-1:2008, the freely published PDF 1.7 specification
- PDF Association — ISO 32000 and the PDF standards family