我已經閱讀了許多討論這個問題的主題,但都沒有提出解決這個問題的方法。他們大多圍繞使用合適的字體。我嘗試過其中的每一個都沒有成功。我知道這個字符串是UTF-8和越南語,因爲如果我將它作爲ASCII字符串粘貼到Notepad ++中,然後將編碼更改爲UTF-8,它就可以工作。如何使用itextsharp在.pdf文檔中顯示越南文字符?
輸入字符串看起來像這樣;
「Cósáºñndá»
輸出字符串應該像這樣;
「Cósẵndịchvụthôngdịchmiễnphíkhibêêyêucầu。」
我的代碼只是產生第一個字符串。 任何幫助,不勝感激。我在這裏撕掉我的頭髮 這是我的代碼;
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports System.IO
Imports System.Text
Imports System.Collections.Generic
Module TextToPdf
Dim pdfWrite As PdfWriter
Dim pdfDoc As Document
Dim pdfFont As Font
Sub Main()
pdfDoc = New Document(PageSize.LETTER)
pdfFont = New Font(BaseFont.CreateFont(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "vuArial.ttf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED), 15)
pdfWrite = PdfWriter.GetInstance(pdfDoc, New FileStream("../tmp/vietnamese.pdf", FileMode.Create))
pdfDoc.Open()
pdfDoc.Add(New Paragraph("Có sẵn dịch vụ thông dịch miễn phà khi bạn yêu cầu.", pdfFont))
pdfDoc.Close()
End Sub
End Module
*我知道這個字符串是UTF-8和越南,因爲如果我把它粘貼到記事本++爲ASCII字符串,然後更改編碼設置爲UTF-8它的工作原理* - 無。該字符串包含字符,而不是utf-8。你在記事本中做的是使用一種編碼將一個奇怪的字符串轉換爲字節,並將它們轉換回發出不同字符的字符。你可以在java中做同樣的事情,但這樣做會無能爲力。而是使用適當的編碼爲您的java文件並將其告訴您的java編譯器。或者使用** \ uXXXX **轉義。 – mkl