/ / एचटीएमएल से पीडीएफ रूपांतरण WKHtmlToXSharp कैशिंग / बफरिंग समस्या का उपयोग कर - सी #, एचटीएमएल, पीडीएफ, wkhtmltopdf

WKHtmlToXSharp कैशिंग / बफरिंग समस्या का उपयोग कर पीडीएफ रूपांतरण के लिए एचटीएमएल - सी #, एचटीएमएल, पीडीएफ, wkhtmltopdf

मैं एक HTML फ़ाइल को पीडीएफ फाइल में परिवर्तित करना चाहता हूं, और मैं"wkhtmltopdf.exe" का उपयोग कर रहा था। फिर हमने इस एप्लिकेशन को एक साझा होस्टिंग सर्वर पर ले जाया। यह सर्वर, .exe फ़ाइलों को चलाने की अनुमति नहीं देगा, ताकि मुझे WkHtmlToXSharp.dll [उपरोक्त exe के लिए wrapper] का उपयोग करना होगा।

यह ठीक काम कर रहा है लेकिन समस्या यह है कि यह कहीं आउटपुट को कैशिंग कर रही है, ताकि प्रत्येक बार जब मैं एक नया पीडीएफ बनाउंगा, तो यह हमेशा पहला वाला होता है।

मैंने कहा है। डिसस्पेक्ट () और कनवर्टर को शून्य पर सेट करना लेकिन कोई उपयोग नहीं।

लेकिन एक प्रमाणित समय के बाद, यह नया पीडीएफ लाता है, जिसका मतलब है कि यह कहीं भी बाइट डेटा को कैशिंग या बफर कर रहा है।

नीचे मेरा कोड है। प्रत्येक बार जब मैं इसमें एक नई एचटीएमएल फ़ाइल [htmlFullPath] पास करता हूं जिसमें विभिन्न छवियां होती हैं।

IHtmlToPdfConverter converter = new MultiplexingConverter();

converter.ObjectSettings.Page = htmlFullPath;

converter.ObjectSettings.Web.EnablePlugins = true;
converter.ObjectSettings.Web.EnableJavascript = true;
converter.ObjectSettings.Web.Background = true;
converter.ObjectSettings.Web.LoadImages = true;
converter.ObjectSettings.Load.LoadErrorHandling = LoadErrorHandlingType.ignore;

converter.GlobalSettings.Orientation = (PdfOrientation)Enum.Parse(typeof(PdfOrientation), orientation);
if (!string.IsNullOrEmpty(pageSize))
converter.GlobalSettings.Size.PageSize = (PdfPageSize)Enum.Parse(typeof(PdfPageSize), pageSize);

converter.GlobalSettings.Margin.Top = "0cm";
converter.GlobalSettings.Margin.Bottom = "0cm";
converter.GlobalSettings.Margin.Left = "0cm";
converter.GlobalSettings.Margin.Right = "0cm";

Byte[] bufferPDF = converter.Convert();

System.IO.File.WriteAllBytes(pdfUrl, bufferPDF);

converter.Dispose();
converter = null;

उत्तर:

उत्तर № 1 के लिए 1

जैसा कि मैंने इस सवाल में उल्लेख किया है "हर बार जब मैं इसमें एक नई एचटीएमएल फाइल [htmlFullPath] पास करता हूं तो इसमें विभिन्न छवियां होती हैं"।

प्रत्येक एचटीएमएल के लिए छवि अलग है लेकिन छवि का नाम समान था।

मैंने टाइम स्टैंप और सभी काम करने वाले जुर्माना के साथ भी छवि का नाम बदल दिया है।

इसका मतलब है कि असली समस्या बनाने वाले समान नाम वाली छवि, यह मल्टीप्लेक्सिंग कनवर्टर या आईआईएस में कुछ सेटिंग्स का एक बफरिंग मुद्दा हो सकता है। जिसे मैं बाद में जांच करूंगा।