2012-04-13 14 views
6

नीचे की तरह कोड का टुकड़ा है:iTextSharp का उपयोग करके टेक्स्ट को औचित्य कैसे दें?

var workStream = new MemoryStream(); 
var doc = new Document(PageSize.LETTER, 10, 10, 42, 35); 
PdfWriter.GetInstance(doc, workStream).CloseStream = false; 
doc.Open(); 

var builder = new StringBuilder(); 
builder.Append("MY LONG HTML TEXT"); 
var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(builder.ToString()), null); 

foreach (var htmlElement in parsedHtmlElements) 
     doc.Add(htmlElement); 

doc.Close(); 

byte[] byteInfo = workStream.ToArray(); 
workStream.Write(byteInfo, 0, byteInfo.Length); 
workStream.Position = 0; 
return new FileStreamResult(workStream, "application/pdf") 

और एक समस्या है कि कैसे है कि पीडीएफ जायज कर दिया है? क्या कोई तरीका या कुछ ऐसा है जो जल्दी से करता है?

+0

मैं वास्तव में स्पष्ट नहीं हूं कि आप क्या करने की कोशिश कर रहे हैं। कृपया "पीडीएफ समायोजित करें" का अर्थ स्पष्ट करें। –

+0

एमएस वर्ड में सीआरटीएल + जे की तरह कुछ, एक ही समय में पृष्ठ के बाएं और दाएं तरफ के लिए लाइनें। –

उत्तर

10

आह, मुझे मिल गया, आपका मतलब "समायोजित" के बजाय "उचित" है। मैंने आपका प्रश्न अपडेट किया। यह वास्तव में बहुत आसान है। असल में यह उस सामग्री के प्रकार पर निर्भर करता है जिसे आप जोड़ रहे हैं और क्या वह सामग्री इस अवधारणा को पहली जगह का समर्थन करती है। मान लें कि आप बुनियादी पैराग्राफ है कि आप उन्हें अपने मुख्य पाश में जोड़ने से पहले उन पर Alignment गुण सेट कर सकते हैं:

foreach (var htmlElement in parsedHtmlElements){ 
    //If the current element is a paragraph 
    if (htmlElement is Paragraph){ 
     //Set its alignment 
     ((Paragraph)htmlElement).Alignment = Element.ALIGN_JUSTIFIED; 
    } 
    doc.Add(htmlElement); 
} 

वहाँ औचित्य के दो प्रकार, Element.ALIGN_JUSTIFIED और Element.ALIGN_JUSTIFIED_ALL है। दूसरा पहला जैसा ही है, सिवाय इसके कि यह टेक्स्ट की आखिरी पंक्ति को भी उचित ठहराता है जिसे आप करना चाहते हैं या नहीं।

संबंधित मुद्दे