मैं एक वर्ड डॉक्यूमेंट को बिना किसी एम्बेडेड फोंट के पीडीएफ * के रूप में कैसे सहेज सकता हूं?


9

मेरे पास Microsoft Word 2010 है और मैं इसे एक कैच के साथ एक पीडीएफ दस्तावेज़ बनाने के लिए उपयोग करने का प्रयास कर रहा हूं। मैं किसी भी फॉन्ट का इस्तेमाल नहीं करना चाहता हूँ। हालाँकि, मेरे द्वारा सहेजे गए सभी विकल्पों ने "एंबेडेड सबसेट" फोंट में परिणाम की कोशिश की है। क्या किसी फोंट को एम्बेड किए बिना पीडीएफ के रूप में सहेजने का कोई तरीका है?


1
वर्तमान में आप इन PDF को बनाने के लिए क्या उपयोग कर रहे हैं? पीडीएफ मूल रूप से मुद्रित इलेक्ट्रॉनिक दस्तावेज़ और अधिक या कम अपरिवर्तनीय होना है। इसके अलावा, आप उन्हें क्या पढ़ रहे हैं जो आप नहीं चाहते हैं कि वास्तव में दस्तावेज़ पर मुद्रित फोंट हैं? आप उनके लिए क्या उपयोग कर रहे हैं?
ऑस्टिन टी फ्रेंच

मैं अन्य छवि प्रारूपों (जैसे टिफ़) में रूपांतरण का परीक्षण कर रहा हूं, और उन परिदृश्यों का परीक्षण करने की आवश्यकता है जहां फोंट एम्बेडेड नहीं थे यह सुनिश्चित करने के लिए कि उन्हें कुछ ऐसा मैप किया गया है जो संरेखण और रिक्ति को फेंक नहीं देता है। यह एक शब्द डॉक उत्पन्न करने के लिए काफी आसान है जिसमें सभी स्थापित सिस्टम फोंट शामिल हैं, लेकिन मैं फोंट को एम्बेड किए बिना एक पीडीएफ के रूप में सहेजना / निर्यात करना चाहता हूं।
स्लिपेक

जवाबों:


3

Xml दस्तावेज़ प्रकार WordML बनाने वाले सभी फोंट को हटाना संभव है।

<?xml version="1.0" encoding="UTF-8"?>
<?mso-application progid="Word.Document"?>
    <w:wordDocument xml:space="preserve" xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml">
     <w:body>

      <w:tbl>
       <w:tblPr>
        <w:tblW w:w="9570" w:type="dxa"></w:tblW>
         <w:tblBorders> <w:top w:val="nil" /><w:left w:val="nil" /><w:bottom w:val="nil" /><w:right w:val="nil" />
         </w:tblBorders>
       </w:tblPr>

    <w:tr>
     <w:tc>
    <w:tcPr><w:tcW w:w="4785" w:type="dxa" /></w:tcPr>  <w:p></w:p>  </w:tc>
     <w:tc>  
    <w:tcPr><w:tcW w:w="4785" w:type="dxa" /></w:tcPr>  <w:p></w:p>  </w:tc>
    </w:tr>   

     <w:tr>    
         <w:tc>
          <w:tcPr><w:tcW w:w="0" w:type="auto" /></w:tcPr>  <w:p><w:pPr><w:jc w:val="right" /></w:pPr>
       <w:r><w:t>Company: </w:t></w:r> 
      </w:p>
     </w:tc>   

        <w:tc>
          <w:tcPr><w:tcW w:w="0" w:type="auto" />
           <w:tcBorders>      <w:top w:val="single" w:sz="2" w:color="0070C0" />    <w:left w:val="single" w:sz="2" w:color="0070C0" /> <w:bottom w:val="single" w:sz="2" w:color="0070C0" /> <w:right w:val="single" w:sz="2" w:color="0070C0" />
           </w:tcBorders>
          </w:tcPr>
         <w:p><w:pPr><w:jc w:val="left" /></w:pPr><w:r><w:t></w:t></w:r></w:p>
        </w:tc>      
       </w:tr>       
      </w:tbl>
     </w:body>
    </w:wordDocument>

लेकिन, भले ही आप मूल दस्तावेज़ की सभी शैलियों और फ़ॉन्ट को हटा दें, Word डिफ़ॉल्ट रूप से दस्तावेज़ शैली के उद्घाटन के दौरान असाइन करेगा। इसके अलावा, कम से कम एक फ़ॉन्ट एक्रोबेट दस्तावेज़ में होगा जब आप इसे खोलेंगे, जैसे कि आपने कार्य नहीं किया।

Office WordML XML फ़ाइल, वर्ड लोड डिफ़ॉल्ट शैली:

Office WordML XML फ़ाइल

एक्रोबैट में पीडीएफ के रूप में सहेजने के बाद एक फ़ॉन्ट देखें

एक्रोबेट दस्तावेज़ फ़ॉन्ट प्रोप

एक अच्छा समाधान कम से कम एक फ़ॉन्ट चुनना है जो अभी भी पीडीएफ फाइल में होगा और इसका उपयोग करेगा।

तरीका 2: शब्द से अप्रयुक्त शैलियाँ हटाना

यहाँ छवि विवरण दर्ज करें

Sub DeleteUnusedStyles()
    Dim oStyle As Style
    For Each oStyle In ActiveDocument.Styles
        ‘Only check out non-built-in styles
        If oStyle.BuiltIn = False Then
            With ActiveDocument.Content.Find
                .ClearFormatting
                .Style = oStyle.NameLocal
                .Execute FindText:=””, Format:=True
                If .Found = False Then oStyle.Delete
            End With
        End If
    Next oStyle
End Sub 

टेक्स्ट फ़ील्ड डिफ़ॉल्ट मान के लिए प्रारूप फ़ॉन्ट्स देखें

शैली में लगभग हमेशा फ़ॉन्ट और फ़ॉन्ट आकार शामिल होते हैं जो अन्य आकारों के निर्धारण के लिए उपयोग किए जाते हैं। पैराग्राफ, लाइन रिक्ति, और इतने पर ... यदि आपको एक अलग शैली यांत्रिकी की आवश्यकता है तो दस्तावेज़ स्वयं उत्पन्न करें। जिसमें स्थानापन्न फोंट शामिल हैं। यदि अंतिम पीडीएफ दस्तावेज़ तो अंतर्निहित एडोब जावास्क्रिप्ट का उपयोग करें। या Adobe LiveCycle डिजाइनर ES और XDP XML।

एडोब लाइव साइकिल डिजाइनर एक्सडीपी एक्सएमएल पर फ़ॉन्ट

फ़ॉर्म में एक्रोबैट जावास्क्रिप्ट का उपयोग करना: फॉर्म डेटा आयात करना और निर्यात करना

एक्सएमएल फॉर्म्स आर्किटेक्चर पीडीएफ!


क्या यह स्टाइल सेटिंग्स को स्वयं नहीं हटाएगा जो एम्बेड किए गए फोंट नहीं हैं? मैं शैली को बनाए रखना चाहता हूं, लेकिन मेरे द्वारा परीक्षण किए जाने वाले रूपांतरण सॉफ़्टवेयर द्वारा मैपिंग के लिए "अनुमान" के लिए मजबूर करने के लिए एम्बेडेड फोंट हटा दें।
स्लिपेक

@slipsec को पीडीएफ मैनुअल बनाने की आवश्यकता हो सकती है?
STTR

@slipsec, इसे प्राप्त करने के लिए आपको किसी भुगतान किए गए तीसरे पक्ष के घटक का उपयोग करने की आवश्यकता हो सकती है।
एडम

iText का उपयोग किया, जब मैं इसे समाप्त कर दूंगा
स्लिपेक

0
[System.Reflection.Assembly]::LoadFrom("C:\path\to\itextsharp.dll")
#by default fonts are NOT embedded
#[iTextSharp.text.FontFactory]::DefaultEmbedding -eq false

$doc = New-Object iTextSharp.text.Document
$fileStream = New-Object IO.FileStream("C:\foo\test\allFonts2.pdf", [System.IO.FileMode]::Create)
[iTextSharp.text.pdf.PdfWriter]::GetInstance($doc, $filestream)

#iTextSharp provides a class to work with fonts, but first we have to register them:
[iTextSharp.text.FontFactory]::RegisterDirectories()

#Phrase is the smallest bit of text that will understand a newline if needed.  it is a chunk[] and paragraph is a phrase[]
$phrase = new-object iTextSharp.text.Phrase 
$paragraph = New-Object iTextSharp.text.Paragraph

#Different fonts for mapping tests
$fN = [iTextSharp.text.Font]::NORMAL
$fB = [iTextSharp.text.Font]::BOLD
$fI = [iTextSharp.text.Font]::ITALIC
$fBI = [iTextSharp.text.Font]::BOLDITALIC

#Sample string
$string = "The quick brown fox jumps over the lazy dog 1234567890 ?.,:;!@#$%^&*()`"'`n"
#something I know maps nicely (I love fixed width fonts!)
$consolas = [iTextSharp.text.FontFactory]::GetFont("consolas", 9)

#create all the nesting needed.
[iTextSharp.text.FontFactory]::RegisteredFamilies | %{

    $chunk = new-object iTextSharp.text.Chunk("`n$_`n", $consolas)
    $phrase.Add($chunk) | out-null

    $a = [iTextSharp.text.FontFactory]::GetFont($_, 9, $fN)
    "adding font: $_"
    $chunk = new-object iTextSharp.text.Chunk($string, $a)
    $phrase.Add($chunk) | out-null

    $b = [iTextSharp.text.FontFactory]::GetFont($_, 9, $fB)
    $chunk = new-object iTextSharp.text.Chunk($string, $b) 
    $phrase.Add($chunk) | out-null

    $c = [iTextSharp.text.FontFactory]::GetFont($_, 9, $fI)
    $chunk = new-object iTextSharp.text.Chunk($string, $c) 
    $phrase.Add($chunk) | out-null

    $d = [iTextSharp.text.FontFactory]::GetFont($_, 9, $fBI)
    $chunk = new-object iTextSharp.text.Chunk($string, $d) 
    $phrase.Add($chunk) | out-null
}

$paragraph.add($phrase) | out-null
$doc.Open()
$doc.add($paragraph) | out-null
$doc.close()

क्या आप समझा सकते हैं, यह क्या है?
टर्बनऑफ़

@turbanoff, itextsharp PDF लाइब्रेरी (.NET के लिए) के साथ पॉवर्सशेल जैसा दिखता है।
बॉब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.