क्या आप एचटीएमएल को पीडीएफ में परिवर्तित कर रहे हैं? यदि ऐसा है, तो आपको ध्यान रखना चाहिए कि अन्यथा कभी भी ध्यान न दें। एकमात्र कारण मैं पूछता हूं कि æ
प्राप्त करने के बारे में आपकी आखिरी टिप्पणी मुझे यह सोचती है। कभी कभी जब लोग कहते हैं iTextSharp 5 polish character
इसके अलावा, "यूनिकोड" वे वास्तव में क्या करने के लिए कोशिश कर रहे हैं एक पीडीएफ में विंगडिंग्स जैसे प्रतीकों प्राप्त करने के लिए है: आप कर रहे हैं, इस पोस्ट की जाँच करें। यदि आपका मतलब है कि इस पोस्ट को देखें और जानें कि यूनिकोड और विंगडिंग प्रतीक वास्तव में संबंधित नहीं हैं। Unicode symbols in iTextSharp
यहां एक पूर्ण कामकाजी उदाहरण है जो यूनिकोड वर्ण लिखने के दो तरीकों का उपयोग करता है, एक चरित्र का उपयोग करके और सी # एस्केप अनुक्रम का उपयोग करके। अपनी फ़ाइल को ऐसे प्रारूप में सहेजना सुनिश्चित करें जो विस्तृत वर्णों का समर्थन करता हो। यह नमूना iTextSharp 5.0.5 का उपयोग करता है।
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Create our document object
Document Doc = new Document(PageSize.LETTER);
//Create our file stream
using (FileStream fs = new FileStream(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Test.pdf"), FileMode.Create, FileAccess.Write, FileShare.Read))
{
//Bind PDF writer to document and stream
PdfWriter writer = PdfWriter.GetInstance(Doc, fs);
//Open document for writing
Doc.Open();
//Add a page
Doc.NewPage();
//Full path to the Unicode Arial file
string ARIALUNI_TFF = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIALUNI.TTF");
//Create a base font object making sure to specify IDENTITY-H
BaseFont bf = BaseFont.CreateFont(ARIALUNI_TFF, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//Create a specific font object
Font f = new Font(bf, 12, Font.NORMAL);
//Write some text, the last character is 0x0278 - LATIN SMALL LETTER PHI
Doc.Add(new Phrase("This is a test ɸ", f));
//Write some more text, the last character is 0x0682 - ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
Doc.Add(new Phrase("Hello\u0682", f));
//Close the PDF
Doc.Close();
}
}
}
}
जब iTextSharp के साथ काम कर आप यकीन है कि तुम कि यूनिकोड कोड अंक है कि आप उपयोग करना चाहते हैं का समर्थन करता है एक फ़ॉन्ट उपयोग कर रहे हैं करने के लिए है। अपने फ़ॉन्ट का उपयोग करते समय आपको IDENTITY-H
निर्दिष्ट करने की भी आवश्यकता है। मुझे पूरी तरह से पता नहीं है इसका मतलब क्या है लेकिन इसके बारे में कुछ बात यहां है: iTextSharp international text
स्रोत
2011-05-24 13:47:56
आप क्या समस्याएं देख रहे हैं? यदि इसमें वर्ण गुम हैं तो यहां एक नज़र डालें: http://stackoverflow.com/questions/1322303/html-to-pdf-some-characters-are-missing-itextsharp – Nick
हां, वर्ण पीडीएफ में गायब हैं, लेकिन मेरे पास है पहले से ही देखा और इस लिंक को आजमाया, जब मैंने itextsharp के स्रोत कोड को डाउनलोड किया, तो इसमें 'FactorySettings.cs' फ़ाइल नहीं थी। और, वह "arial.ttf" का उपयोग कर रहा है, मुझे यूटीएफ -8 अक्षर चाहिए। – teenup
असल में, जिस नोटपैड से मैं स्ट्रिंग ला रहा था उसे एएनएसआई कोड के रूप में सहेजा गया था, जब मैंने इसे "यूटीएफ -8" कोड के रूप में बदल दिया, तो अब वे वर्ण पीडीएफ में 'æ' के रूप में दिखाई दे रहे हैं। – teenup