Làm cách nào tôi có thể lưu tài liệu Word dưới dạng PDF * mà không có * bất kỳ phông chữ nhúng nào?


9

Tôi có Microsoft Word 2010 và tôi đang cố gắng sử dụng nó để tạo một tài liệu PDF. Tôi KHÔNG muốn bất kỳ phông chữ được sử dụng nhúng. Tuy nhiên, tất cả các tùy chọn lưu mà tôi đã thử đều dẫn đến phông chữ "Tập hợp con nhúng". Có cách nào để lưu dưới dạng PDF mà không nhúng bất kỳ phông chữ nào không?


1
Hiện tại bạn đang sử dụng gì để tạo các tệp PDF này? Các tệp PDF về cơ bản có nghĩa là được in các tài liệu điện tử và ít nhiều không thay đổi. Ngoài ra, bạn đang đọc chúng với cái gì mà bạn không muốn các phông chữ thực sự được in trên tài liệu? Bạn đang sử dụng chúng để làm gì?
Austin T Pháp

Tôi đang thử nghiệm chuyển đổi sang các định dạng hình ảnh khác (ví dụ: tiff) và cần kiểm tra các tình huống trong đó các phông chữ KHÔNG được nhúng để đảm bảo chúng được ánh xạ tới thứ gì đó không làm mất liên kết và khoảng cách. Thật dễ dàng để tạo một tài liệu từ bao gồm tất cả các phông chữ hệ thống đã cài đặt, nhưng tôi muốn lưu / xuất dưới dạng pdf mà không cần các phông chữ được nhúng.
slipsec

Câu trả lời:


3

Có thể xóa tất cả các phông chữ tạo thành loại tài liệu 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>

Nhưng, ngay cả khi bạn xóa tất cả các kiểu và phông chữ của tài liệu gốc, Word sẽ chỉ định trong khi mở kiểu tài liệu theo mặc định. Ngoài ra, ít nhất một phông chữ sẽ có trong tài liệu Acrobat khi bạn mở nó, như thể bạn không hành động.

Office WordML XML File, Word tải kiểu mặc định:

Tệp XML WordML Office

Sau khi lưu dưới dạng PDF trong Acrobat, xem một phông chữ

Acrobat tài liệu phông chữ prop

Một giải pháp tốt là chọn ít nhất một phông chữ vẫn còn trong tệp pdf và sử dụng nó.

Cách 2: Loại bỏ các kiểu không sử dụng khỏi Word

nhập mô tả hình ảnh ở đây

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 

Xem Phông chữ định dạng cho các giá trị mặc định của trường văn bản

Phong cách hầu như luôn luôn bao gồm phông chữ và kích thước phông chữ được sử dụng để xác định các kích thước khác. Đoạn văn, khoảng cách dòng, v.v ... Nếu bạn cần một cơ chế kiểu khác sẽ tự tạo tài liệu. Bao gồm các phông chữ thay thế. Nếu tài liệu PDF cuối cùng thì hãy sử dụng Adobe JavaScript tích hợp. Hoặc Adobe LiveCycle Designer ES và XDP XML.

Phông chữ tại Adobe LiveCycle Designer XDP XML

Sử dụng Acrobat JavaScript trong các biểu mẫu: Nhập và xuất dữ liệu biểu mẫu

Kiến trúc biểu mẫu XML PDF!


Điều này có tự xóa các cài đặt kiểu không phải là phông chữ được nhúng không? Tôi muốn giữ lại kiểu, nhưng xóa các phông chữ được nhúng để buộc "đoán" để ánh xạ bằng phần mềm chuyển đổi mà tôi đang thử kiểm tra.
slipsec

@slipsec Có thể cần tạo PDF thủ công?
STTR

@slipsec, Bạn có thể cần phải sử dụng một thành phần bên thứ ba phải trả tiền để đạt được điều này.
Adam

đã sử dụng iText, sẽ đăng khi tôi hoàn thành.
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()

Bạn có thể giải thích, nó là gì?
turbanoff

@turbanoff Trông giống như Powershell với thư viện PDF itextsharp (cho .NET).
Bob
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.