2013-06-05 37 views
3

我需要您的專業知識來解決我一週以來面臨的問題。這已經變成了「背後的王室痛苦」類別,時間也很快耗盡。通過自動化從Word轉換爲Word時引起的不均勻字符字距問題

問題

我公司開發的C#腳本,我從ColdFusion的打電話給幫助我轉換Word文檔爲PDF。該腳本正確地進行了轉換,但段落中的(對齊)文本未被正確地分隔。我在某個角色旁邊有一個無法選擇的空間。

看到圖像 -

什麼是應該像...

The Good Picture

是什麼樣子......

The dirty picture

紅色標記添加顯示創建的空間。

現在,如果我通過手動打開文件並保存它,我不會遇到同樣的問題。我錯過了什麼,或者做錯了什麼,導致了這個錯誤?我的應用程序流量的

詳情 -

  1. 我創建了一個DOC(根據我的設計需要),並將其保存爲HTML。
  2. 這個HTML將被我的CF應用程序用來根據一些佔位符來操作內容,並且最終的輸出再次保存爲HTML。
  3. xx.html文件被重命名爲xx.doc並傳遞給我的基於C#的轉換器,它通過Word Automation將文檔轉換爲pdf轉換。
  4. 我很高興地看到我的格式良好的PDF輸出,但傷心的文字有點混亂。

我已經嘗試過這種多字體,我觀察到它只發生在某些字體(在我的情況下它的Palatino - Linotype)。我想知道,從手動到自動化有什麼不同?有沒有爲這個或其他一些黑客做一個設置(如布爾)?

我的系統配置 -

的Windows 2008 R2 64B + .NET 4 + Office 2010的

注意:我知道,辦公自動化是壞的。所以在這個日期和時間,這是我必須完成工作的唯一選擇。

+0

你有沒有解決過這個問題?我在露露印刷的一本300頁的書中遇到同樣的問題。它在一臺計算機上工作正常,我無法輕鬆訪問運行Windows 7的計算機。它曾經在我自己的運行XP的計算機上工作(實際上是一臺Mac w/Fusion),但幾個月前它停止工作。我剛剛安裝了Windows 8(乾淨安裝),希望能解決它,但問題仍然存在。我很難過:(我真的不想亂用文檔字體,因爲這會對文檔造成嚴重破壞 – Symmetric

回答

0

我想麻煩可能是用過的字體。請嘗試:

  • 改變字體
  • 保證,文本(LanguageID屬性)的語言是正確的

或者,它可以插入特殊字符,例如,錯誤的方式進行解釋插入「無寬度可選中斷「。嘗試選擇文字,剪下&粘貼在單詞中,並看到不可打印的字符 - 它應該是可見的。

+0

感謝您的回覆,我嘗試了各種各樣的字體,並且您是對的。我一直在使用Palatino - Linotype,我的任務是找到爲什麼它在手動模式下工作良好,並且在自動化方面失敗。 – Sanjeev

+0

PDF可能包含字體子集(僅用於字符)或整個字體 - 它是(一般)選項在處理字體,在選項中搜索可能有所不同 –

5

我找到了解決這個問題的方法。它似乎依賴於選定的打印機!

  • 首先進入打印對話框(文件/打印)並選擇「Microsoft XPS Document Writer」而不是普通打印機。你並不需要打印什麼,
  • 現在導出PDF(文件/導出/創建PDF)

選擇其他打印機驅動程序也可以正常工作。我發現在這個線程此解決方案:http://www.howtofixcomputers.com/forums/microsoft-office/bad-kerning-pdf-using-save-pdf-xps-add-244886.html

注:

  • 我發現在這之前還安裝了Adobe PDF作家。這可能會影響它。
  • 我的系統是Windows 8.1 & Office 2013在Mac mini的Fusion 5.0.3下運行。
+0

感謝您的發現,我會試試這個,並讓你知道如果這也能解決我的問題 – Sanjeev

+0

或者,在C#:'wordapp.WordBasic.FilePrintSetup(Printer:「Microsoft XPS Document Writer」,DoNotSetAsSysDefault:1);' - 這解決了我的字距問題! –