के साथ पीडीएफ पर लागू नहीं किया जा रहा है। मैं अपने वेबपृष्ठ के एक हिस्से को iTextSharp का उपयोग करके पीडीएफ में परिवर्तित करने का प्रयास कर रहा हूं, और पीडीएफ पीढ़ी सही तरीके से काम कर रहा है, सीएसएस शैलियों में से कोई भी लागू नहीं किया जा रहा है। मैंने एक समय में शैलियों को लागू करने का प्रयास किया है, लेकिन ऐसा लगता है कि यह काम नहीं करता है। यही वह है जो मैंने अभी तक किया है:सीएसएस शैलियों को iTextSharp
//Get the portion of the page to convert.
StringBuilder sb = new StringBuilder();
print_div.RenderControl(new HtmlTextWriter(new StringWriter(sb)));
string html = sb.ToString();
//Generate a random filename to use for the pdf
Guid random_guid;
random_guid = Guid.NewGuid();
string fileName = random_guid.ToString() + ".pdf";
string filename_with_folder = @"pdf\sl_" + fileName;
string fullFilePath = System.IO.Path.Combine(Request.PhysicalApplicationPath, filename_with_folder);
using (Document doc = new Document())
{
// Create the pdf
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(fullFilePath, FileMode.Create));
doc.Open();
try
{
//Set the font size for all elements
StyleSheet styles = new StyleSheet();
styles.LoadStyle("body", "fontsize", "8px");
//Write the content to the pdf document
StringReader sr = new StringReader(html);
XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, sr);
}
catch (Exception ex)
{
}
doc.Close();
}
क्या मुझे कुछ याद आ रही है? मैंने HTMLWorker का उपयोग शुरू कर दिया और XMLWorker पर स्विच किया है, लेकिन मुझे लगता है कि मैं अभी खुद को भ्रमित कर रहा हूं। मदद की सराहना की जाएगी।
प्रयास # 2
उत्तर के लिए धन्यवाद! यही वह है जिसके साथ मैं आया हूं, लेकिन यह काम नहीं कर रहा है। मेरी सामग्री अब पीडीएफ में दिखाई नहीं दे रही है, और मुझे यकीन नहीं है कि क्यों। कोई विचार?
using (Document doc = new Document())
{
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(fullFilePath, FileMode.Create));
doc.Open();
// CSS
var cssResolver = new StyleAttrCSSResolver();
var cssFile = XMLWorkerHelper.GetCSS(new FileStream(HttpContext.Current.Server.MapPath("~/css/print.css"), FileMode.Open));
cssResolver.AddCss(cssFile);
// HTML
CssAppliers ca = new CssAppliersImpl();
HtmlPipelineContext hpc = new HtmlPipelineContext(ca);
hpc.SetTagFactory(Tags.GetHtmlTagProcessorFactory());
// PIPELINES
PdfWriterPipeline pdf = new PdfWriterPipeline(doc, writer);
HtmlPipeline htmlPipe = new HtmlPipeline(hpc, pdf);
CssResolverPipeline css = new CssResolverPipeline(cssResolver, htmlPipe);
XMLWorker worker = new XMLWorker(css, true);
XMLParser p = new XMLParser(worker);
StringReader sr = new StringReader(html);
p.Parse(sr);
doc.Close();
}
क्या मैं बंद हूं, या क्या मैं पूरी तरह से बिंदु खो रहा हूं?
पहला प्रश्न, सही ढंग से स्वरूपित कोड, जो आपने कोशिश की है, एक संक्षिप्त सटीक वर्णन दिखा रहा है। यह निश्चित दुर्लभ है। – gunr2171
आपने इसे हल किया? कृपया अपना उत्तर पोस्ट करें या गाइड करें कि क्या करना है? मैं तुम्हारे जैसी ही स्थिति में हूं .... – micronyks