हो सकता है कि वर्ड केवल अपकर्षित छवि को प्रस्तुत करता है और इसे प्रिंटर इनपुट के रूप में भेजता है (मुझे लगता है कि डिस्टिलर प्रिंटर के रूप में काम करता है)। यदि ऐसा है, तो यह सामान्य प्रिंटर के लिए अच्छा है, लेकिन पीडीएफ फाइलों का निर्माण करने वाले नकली प्रिंटर के लिए अक्षम है।
उदाहरण के लिए pdfLaTeX आउटपुट फ़ाइल में छवि को ठीक से एम्बेड करता है। Min.us गैलरी में अपलोड की गई मेरी PDF की जाँच करें: LaTeX दस्तावेज़ में एंबेडिंग छवि
महत्वपूर्ण बात यह है कि पीडीएफ उत्पादक स्टैक आप क्या उपयोग कर रहे हैं। यदि अन्य पीडीएफ प्रिंटर की कोशिश करना, जैसे कि महान और मुफ्त PDFCreator , समस्या को ठीक नहीं करता है, तो आपको समर्पित पीडीएफ निर्यात का उपयोग करने की कोशिश करनी चाहिए, अर्थात प्रिंटर के रूप में काम नहीं करना चाहिए। AFAIK हाल के वर्ड संस्करणों में पीडीएफ निर्यात अंतर्निहित है, इसलिए यदि इसे ठीक से लागू किया जाता है, तो आपको दस्तावेज़ में उपयोग की जाने वाली छवियों को एम्बेड करने के लिए, छोटी फ़ाइल मिलेगी।
विशाल संस्करण
गैलरी को LaTeX बनाम वर्ड में पीएनजी छवि एम्बेड करने के लिए नाम दिया गया है
मैंने mytest.pdf
पीडीएफ़एलटीएक्स द्वारा उत्पन्न मेरे और test2.pdf
वर्ड द्वारा उत्पन्न आपके द्वारा अधिक अच्छी तरह से देखा है ।
mytest.pdf
test2.pdf
चलिए शुरुआत करते हैं। यदि आप असम्पीडित फ़ाइल में देखते हैं, तो आप आसानी से इमेज स्ट्रीम ( <<...>>stream
लाइन विथ विथ एंड test.png
हाइट पैरामीटर , यानि इन , 176x295) की शुरुआत करेंगे , जो endstream
टैग के साथ समाप्त होती है । झांकने का समय।
(इस बिंदु पर पर्किंग को संस्करण १.४१ में माना जाता है)
test2.pdf
$ pdftk test2.pdf output test2uc.pdf uncompress
$ sed '\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,!d' test2uc.pdf
<</Width 176/BitsPerComponent 8/Interpolate true/Height 295/Filter[/DCTDecode]/Subtype/Image/Length 20003/ColorSpace/DeviceRGB/Type/XObject>>stream
$ sed '1,\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,d;/^endstream$/,$d' test2uc.pdf > test2stream
$ xxd test2stream | head -10
0000000: ffd8 ffe0 0010 4a46 4946 0001 0101 0048 ......JFIF.....H
0000010: 0048 0000 ffe1 005c 4578 6966 0000 4d4d .H.....\Exif..MM
0000020: 002a 0000 0008 0004 0302 0002 0000 0016 .*..............
0000030: 0000 003e 5110 0001 0000 0001 0100 0000 ...>Q...........
0000040: 5111 0004 0000 0001 0000 0b13 5112 0004 Q...........Q...
0000050: 0000 0001 0000 0b13 0000 0000 5068 6f74 ............Phot
0000060: 6f73 686f 7020 4943 4320 7072 6f66 696c oshop ICC profil
0000070: 6500 ffe2 0c58 4943 435f 5052 4f46 494c e....XICC_PROFIL
0000080: 4500 0101 0000 0c48 4c69 6e6f 0210 0000 E......HLino....
0000090: 6d6e 7472 5247 4220 5859 5a20 07ce 0002 mntrRGB XYZ ....
$ file test2stream
test2stream: JPEG image data, JFIF standard 1.01
इसलिए वर्ड आगे पीडीएफ प्रोसेसिंग के लिए अपने आंतरिक आउटपुट पर PNG के बजाय JPEG दे रहा है। बस वाह! प्रिंटर पर आउटपुट भेजते समय एक ही बात हो सकती है।
test2stream.jpg
mytest.pdf
$ pdftk mytest.pdf output mytestuc.pdf uncompress
$ sed '\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,!d' mytestuc.pdf
<</Width 176/BitsPerComponent 8/Height 295/Subtype/Image/Length 155760/ColorSpace/DeviceRGB/Type/XObject>>stream
$ sed '1,\,^<</Width 176[^>]*/Height 295[^>]*>>stream$,d;/^endstream$/,$d' mytestuc.pdf > myteststream
$ xxd myteststream | head -10
0000000: ebeb ebea eaea ecec eceb ebeb ebeb ebeb ................
0000010: ebeb ebeb ebec ecec ebeb ebeb ebeb ebeb ................
0000020: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000030: ebeb ebea eaea eaea eaec ecec eaea eaec ................
0000040: ecec ebeb ebec ecec ebeb ebeb ebeb ebeb ................
0000050: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000060: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000070: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
0000080: ebea eaea ecec eceb ebeb ebeb ebea eaea ................
0000090: ebeb ebeb ebeb ebeb ebeb ebeb ebeb ebeb ................
$ file myteststream
myteststream: DOS executable (COM)
यह COM फ़ाइल नहीं है, लेकिन यह PNG भी नहीं है।
$ du -b test.png test2stream myteststream
57727 test.png
20004 test2stream
155761 myteststream
अब आप इसे देखें? PDFLaTeX द्वारा निर्मित पीडीएफ से इमेज स्ट्रीम (पीएनजी) संभवतः सरल कच्चा प्रारूप है (176 * 295 * 3 = 155760, 1 शानदार नई रेखा से आता है)। आइए इसे जांचें:
$ convert -depth 8 -size 176x295 rgb:myteststream myteststream.png
और हमारी मूल छवि वापस आ गई है! इंतज़ार नही। ऐसा लगता है कि pdftk 1.41 उतार-चढ़ाव छोटी गाड़ी है और छवि कुछ खामियों के साथ लगभग समान थी। मैंने pdftk 1.44 में अपग्रेड किया, लेकिन यह संस्करण छवि स्ट्रीम को बिल्कुल भी विघटित नहीं करता है। इसके अलावा pdftk एक लाइन में स्ट्रीम डिक्शनरी का आउटपुट नहीं देता है, इसलिए उपरोक्त निष्कर्षण sed के उपयोग से अब काम नहीं करता है, लेकिन अब इसे ठीक करने का कोई मतलब नहीं है।
तो हम Word के बारे में क्या कर सकते हैं? ज्यादा मेथिंक नहीं। कम से कम आप एम्बेडेड इमेज को एक पीडीएफ से दूसरे में ट्रांसप्लांट कर सकते हैं। मैंने हाल ही में पीडीएफटी का उपयोग करते हुए दोनों पीडीएफ के असंबद्धता को दोहराया, उन्हें विम में खोला, test2uc.pdf
<<...>>stream...endstream
समकक्ष से बदल दिया mytestuc.pdf
, के रूप में सहेजा गया test2fixuc.pdf
और संकुचित किया गया test2fix.pdf
।
test2fix.pdf
test.pdf
यह एक बड़ा पाप होगा जो आपकी बड़ी पीडीएफ की जांच नहीं करेगा। ठीक है, मैंने एक और ऑनलाइनर तैयार किया है जो पीडीएफ़टी के साथ खेलने के लिए 1.44 असम्पीडित पीडीएफ फाइलों में छवि धाराओं और उनकी शुरुआत की लाइनों को सूचीबद्ध करने के लिए है। तो मैं शुरुआत करूँगा test.pdf
।
(इस बिंदु pdftk पर चेतावनी को संस्करण 1.44 में माना जाता है)
$ pdftk test.pdf output testuc.pdf uncompress
$ awk '{if(i)h=h$0} /^[0-9]+ [0-9]+ obj $/{i=1;h=""}/^stream$/{i=0;if(h!~/\/Image/)next;print h,":"NR+1}' testuc.pdf
<</ColorSpace /DeviceRGB/Subtype /Image/Length 10443804/Width 707/Type /XObject/BitsPerComponent 8/Height 4924>>stream :619
<</ColorSpace /DeviceRGB/Subtype /Image/Length 11264460/Width 953/Type /XObject/BitsPerComponent 8/Height 3940>>stream :12106
<</ColorSpace /DeviceRGB/Subtype /Image/Length 2813256/Width 953/Type /XObject/BitsPerComponent 8/Height 984>>stream :12910
<</ColorSpace /DeviceRGB/Subtype /Image/Length 11264460/Width 953/Type /XObject/BitsPerComponent 8/Height 3940>>stream :18547
<</ColorSpace /DeviceRGB/Subtype /Image/Length 2813256/Width 953/Type /XObject/BitsPerComponent 8/Height 984>>stream :19312
<</ColorSpace /DeviceRGB/Subtype /Image/Length 4845216/Width 328/Type /XObject/BitsPerComponent 8/Height 4924>>stream :19326
कुछ वास्तव में यहाँ पागल है! 6 कच्ची छवियां (जाहिरा तौर पर इस बार pdftk को 43444452 बाइट्स में एक साथ लेने में उन्हें कोई समस्या नहीं हुई)! चलो फिर से जाँचें test2uc.pdf
और mytestuc.pdf
।
$ awk '{if(i)h=h$0} /^[0-9]+ [0-9]+ obj $/{i=1;h=""}/^stream$/{i=0;if(h!~/\/Image/)next;print h,":"NR+1}' test2uc.pdf
<</Width 176/BitsPerComponent 8/Interpolate true/Height 295/Filter /DCTDecode/Subtype /Image/Length 20003/ColorSpace /DeviceRGB/Type /XObject>>stream :113
przemoc@debian:~/latex/test/img/mod$ awk '{if(i)h=h$0} /^[0-9]+ [0-9]+ obj $/{i=1;h=""}/^stream$/{i=0;if(h!~/\/Image/)next;print h,":"NR+1}' mytestuc.pdf
<</DecodeParms <</Colors 3/Columns 176/Predictor 10/BitsPerComponent 8>>/Width 176/BitsPerComponent 8/Height 295/Filter /FlateDecode/Subtype /Image/Length 54954/ColorSpace /DeviceRGB/Type /XObject>>stream :22
दोनों ही मामलों में केवल एक छवि स्ट्रीम। क्यों बिल्ली वहाँ उनमें से अधिक हो सकता है ?!
$ sed '1,618d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 707x4924 rgb:- testuc-stream1.png
$ sed '1,12105d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x3940 rgb:- testuc-stream2.png
$ sed '1,12909d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x984 rgb:- testuc-stream3.png
$ sed '1,18546d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x3940 rgb:- testuc-stream4.png
$ sed '1,19311d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 953x984 rgb:- testuc-stream5.png
$ sed '1,19325d;/^endstream $/q' testuc.pdf | convert -depth 8 -size 328x4924 rgb:- testuc-stream6.png
छवि को कई टुकड़ों में काट दिया गया था ... यह किसी तरह की पूरी तरह से बेवकूफ संरक्षण की तरह दिखता है, शायद डिस्टिलर द्वारा पेश किया गया (और शायद इसे चालू किया जा सकता है)? मुझे संदेह है कि PDFCreator द्वारा एक ही बात उड़ाई जाएगी, जब तक कि यह वर्ड नहीं है जो इस अविश्वसनीय पागलपन का प्रदर्शन करता है ...
testuc-stream1.png और अन्य (नेविगेट करने के लिए दाएँ तीर का उपयोग करें)
निष्कर्ष
महत्वपूर्ण बातें हैं:
- आप स्पष्ट रूप से देख सकते हैं कि उस विशाल छवि को टुकड़ों में काट दिया गया था, जो वास्तव में जेपीईजी से प्रभावित थी, इसलिए मेरी परिकल्पना सही थी,
- क्योंकि PDFCreator में आपको आउटपुट में बहुत बड़ी फाइल मिलती है, यह वर्ड है जो नकली पीडीएफ प्रिंटर को भयानक रूप से बड़ी छवि प्रदान करता है, और मेरा पहले का सपोजिशन भी सही था।
ओह। इस जांच में कुछ समय लगा। शब्द रद्दी का टुकड़ा है।
समाधान?
इस बीच कुछ सुझाव दिए गए थे। मुझे उन्हें टिप्पणी दें।
लिबरऑफिस जैसे सभ्य पीडीएफ समर्थन के साथ लेखक का उपयोग करना (ओपनऑफिस के बारे में भूल जाओ, यह अब बाधित है) अच्छा समाधान है, जब तक कि कुछ अक्षमताएं आपको इसके साथ काम करने में असमर्थ बनाती हैं।
पृष्ठ पर एक ही बॉक्स में बड़ी छवि का उपयोग करना भी उतना बुरा विचार नहीं है, क्योंकि जेपीईजी-izing के बाद भी कलाकृतियां कम दिखाई देंगी।
मेरा एक और ग्रोस हालांकि शुरुआत से जेपीईजी का उपयोग कर रहा है। इस तरह वर्ड को इसे दोबारा नहीं बनाना चाहिए (आप कभी नहीं जानते ...) और आप जेपीईजी के उच्चतम संभव गुणवत्ता प्रदान कर सकते हैं। दोषरहित जेपीईजी संपीड़न भी है। Redmond के डेवलपर्स ने माना कि इसकी आवश्यकता नहीं है, इसलिए मुझे आश्चर्य नहीं होगा यदि Word ऐसे JPEG को हैंडल नहीं करता है। खैर, टीबीएच इसे व्यापक रूप से समर्थित नहीं है (यहां तक कि खुले स्रोत की दुनिया में भी), अंकगणित कोडिंग की तरह (या यह अंकगणित कोडिंग के मामले में और भी बदतर स्थिति है)।
convert test.png -quality 100 -resize $((100*300/72))% test-300dpi-mitchell.jpg
convert test.png -quality 100 -filter box -resize $((100*300/72))% test-300dpi-box.jpg
convert test.png -quality 100 test.jpg
(विंडोज $(())
में POSIX गोले में उपलब्ध इस अंकगणितीय विस्तार के बजाय 416 का उपयोग करें )
मुझे लगता है कि डिफ़ॉल्ट मिशेल अपस्कूलिंग के लिए अच्छा है, लेकिन अगर आप वास्तव में ऐसी पिक्सेल छवि चाहते हैं, तो बॉक्स के साथ @ceving का सुझाव दिया। बेशक पहली 2 फाइलें तभी उपयोगी होती हैं, जब आपको (किसी कारण से) नकली पीडीएफ प्रिंटर का उपयोग करना चाहिए।
मैंने तीनों फाइलें अपलोड कर दी हैं।
परीक्षण 300dpi-mitchell.jpg (426 KB)
परीक्षण 300dpi-box.jpg (581 KB)
test.jpg (74 KB)
यदि मेरी परिकल्पना सही है और Word JPEG छवि को पुनःप्रकाशित नहीं करेगा, तो बस पिछले एक का उपयोग न करें और अंतर्निहित पीडीएफ आउटपुट के साथ जाएं, क्योंकि इसमें कम कमियां हैं (कम से कम यह अनावश्यक अपसंस्कृति से बचा जाता है)।