Bagaimana saya bisa menyimpan dokumen Word sebagai PDF * tanpa * font yang disematkan?

9

Saya memiliki Microsoft Word 2010 dan saya mencoba menggunakannya untuk membuat dokumen PDF dengan tangkapan. Saya TIDAK ingin ada font yang digunakan tertanam. Namun, semua opsi penyimpanan yang saya coba menghasilkan font "Embedded Subset". Apakah ada cara untuk menyimpan sebagai PDF tanpa menyematkan font APA SAJA?

slipsec
sumber
1
Apa yang saat ini Anda gunakan untuk membuat PDF ini? PDF pada dasarnya dimaksudkan untuk dicetak dokumen elektronik dan lebih atau kurang abadi. Juga, dengan apa Anda membacanya sehingga Anda tidak ingin font dicetak ke dokumen? Untuk apa Anda menggunakannya?
Austin T French
Saya sedang menguji konversi ke format gambar lain (misalnya tiff), dan perlu menguji skenario di mana font TIDAK tertanam untuk memastikan mereka dipetakan ke sesuatu yang tidak membuang perataan dan jarak. Cukup mudah untuk menghasilkan kata doc yang mencakup semua font sistem yang diinstal, tetapi saya ingin menyimpan / mengekspor sebagai pdf tanpa font yang tertanam.
slipsec

Jawaban:

3

Dimungkinkan untuk menghapus semua font membentuk xml jenis dokumen 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>

Tetapi, bahkan jika Anda menghapus semua gaya dan font dokumen asli, Word akan menetapkan selama pembukaan gaya dokumen secara default. Juga, setidaknya satu font akan ada dalam dokumen Acrobat ketika Anda membukanya, seolah-olah Anda tidak bertindak.

File XML Word Word Office, gaya memuat standar Word:

File XML Office WordML

Setelah menyimpan sebagai PDF di Acrobat lihat satu font

Prop font dokumen Acrobat

Solusi yang baik adalah memilih setidaknya satu font yang masih ada di file pdf dan menggunakannya.

Cara 2: Menghapus Gaya yang Tidak Digunakan dari Word

masukkan deskripsi gambar di sini

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 

Lihat Memformat Font untuk Nilai Default Field Teks

Gaya hampir selalu mencakup font dan ukuran font yang digunakan untuk penentuan ukuran lainnya. Paragraf, penspasian garis, dan sebagainya ... Jika Anda membutuhkan mekanik gaya yang berbeda, buat dokumen itu sendiri. Termasuk font pengganti. Jika dokumen PDF final maka gunakan Adobe JavaScript bawaan. Atau Adobe LiveCycle Designer ES dan XDP XML.

Font di Adobe LiveCycle Designer XDP XML

Menggunakan Acrobat JavaScript dalam Formulir: Mengimpor dan Mengekspor Data Formulir

Bentuk XML Arsitektur PDF!

STTR
sumber
Bukankah ini akan menghapus sendiri pengaturan gaya bukan font yang disematkan? Saya ingin mempertahankan gaya, tetapi menghapus font yang tertanam untuk memaksa "tebakan" untuk pemetaan oleh perangkat lunak konversi yang saya coba.
slipsec
@ Slipsec Mungkin perlu membuat PDF secara manual?
STTR
@ Slipsec, Anda mungkin perlu menggunakan komponen pihak ketiga berbayar untuk mencapai ini.
Adam
digunakan iText, akan memposting ketika saya selesai.
slipsec
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()
slipsec
sumber
Bisakah Anda jelaskan, apa itu?
Turbanoff
@turbanoff Sepertinya Powershell dengan pustaka itextsharp PDF (untuk .NET).
Bob