PDF轉txt之後特殊字元的處理

2021-09-29 14:50:40 字數 1668 閱讀 5307

最近將乙個pdf文件轉換成txt之後,想放在訊飛有聲裡聽,聽的時候發現,有些奇詭。

轉換完的效果如下:

存在問題:1. 字元中的方框問題,讀的時候磕磕絆絆,如同結巴。

2.多餘的換行符問題,導致訊飛讀的時候,存在過多的斷句,聽起來彆扭。 

上述方框在pdf裡顯示的時候不存在。

換行符用**寫一下,處理一下就好。

這個方框 本來以為通過查詢替換掉就可以了,後來發現這個方框很神奇。

將第乙個方框複製貼上到乙個新的txt裡,結果發現是這個樣子的

第二個「不」就是 原文中的 方框

每個方框都是奇怪的字元,看上去是漢字,實際上與常規的漢字看起來又有點不同。

查詢了一大堆資料,參考如下帖子

大體原因是編碼的問題,應該就是將編碼轉換成了多餘的字元了,而這些字元,都不是常規的漢字字元。

通過下述**,可以檢視這些奇怪字元的編碼。

比如:

知道了問題,接下來就是想辦法把這些特殊字元移除掉。

參考如下資料

上面列出了常見的unicode字元編碼的範圍,將方框中的unicode所代表的字元型別範圍內進行排除即可。比如,2f6c代表的是康熙字典部首

在**中將2f00-2fd5範圍內字元移除即可。

核心**:

/// /// 康熙部首範圍

///

static int kangxibushou = new int ;

/// /// cjk部首範圍

///

static int cjkbushou = new int ;

/// /// cjk擴充套件部首

///

static int cjkbushou_ext = new int ;

/// /// 彝文部首範圍

///

static int yiwenbushou = new int ;

//static int bzzf = new int ;

//相容漢字

static int jrhz = new int ;

static string solveline(string line)

", c);

if (isinnerofbushou(c, kangxibushou) || isinnerofbushou(c, cjkbushou) ||

isinnerofbushou(c, cjkbushou_ext) || isinnerofbushou(c, yiwenbushou) ||

isinnerofbushou(c,jrhz))

}console.writeline("處理結果: "+line);

return line;

}

Python中特殊字元轉中文 轉碼

1 u7cd6 u5de7 u514b u529b 轉中文,這裡需要把 變為 轉變後就是 u7cd6 u5de7 u514b u529b 這樣就變成了unicode編碼了,然後用 u7cd6 u5de7 u514b u529b encode utf 8 decode unicode escape 就...

html字串轉pdf原始碼

將html文字 輸出到pdf public static byte converthtmltexttopdf string htmltext memorystream outputstream new memorystream 要把pdf寫到哪個串流 byte data encoding.utf8....

java html轉pdf 換行使用插入字元

資料模板 test data template.html 故障單111111111111111 待處理 pdf模板 445678941 解決換行問題 呼叫插入分行字元 插入方法 param num 每隔幾個字元插入乙個字串 中文字元 param splitstr 待指定字串 param str 原字...