<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[wkhtmltopdf: שגיאת &quot;שרת לא נמצא&quot;]]></title><description><![CDATA[<p dir="auto">טוב, אז אני כבר מיואש..<br />
אני יורה לכל הכיוונים ומנסה להשתמש בכל מיני אפשרויות כדי להמיר מHTML ל PDF ובשום צורה אני לא מצליח..<br />
אני כבר יומיים על הסיפור הזה.. ואני מתחיל להתייאש <img src="https://tchumim.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f622.png?v=7e7f719145c" class="not-responsive emoji emoji-android emoji--cry" style="height:23px;width:auto;vertical-align:middle" title=":cry:" alt="😢" />  <img src="https://tchumim.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f622.png?v=7e7f719145c" class="not-responsive emoji emoji-android emoji--cry" style="height:23px;width:auto;vertical-align:middle" title=":cry:" alt="😢" /><br />
ניסיתי שוב עם wkhtml והפעם בעטיפה אחרת :lol:  - ע"י הספריה הזאת  שהוספתי אותה דרך NuGet, והקוד הוא כזה:</p>
<pre><code>string fileName = "RecieptNo" + donat.Id + "Date" + DateTime.Now + ".pdf";
            string url = Url.Action("CreateRecieptInHtml", new { id = id });

            MemoryStream memory = new MemoryStream();
            PdfDocument document = new PdfDocument() { Url = url };
            PdfOutput output = new PdfOutput() { OutputStream = memory };

            PdfConvert.ConvertHtmlToPdf(document, output);
            memory.Position = 0;

            return File(memory, "application/pdf", Server.UrlEncode(fileName));
</code></pre>
<p dir="auto">ואני מקבל את השגיאה הזאת: "Exit with code 1 due to network error: HostNotFoundError".<br />
וביתר הרחבה:</p>
<pre><code>Html to PDF conversion of '/ManageOrganization/CreateRecieptInHtml/40' failed. Wkhtmltopdf output: 
Loading pages (1/6)
[&gt;                                                           ] 0%
[======&gt;                                                     ] 10%
Error: Failed loading page http:///ManageOrganization/CreateRecieptInHtml/40 (sometimes it will work just to ignore this error with --load-error-handling ignore)
Exit with code 1 due to network error: HostNotFoundError
</code></pre>
<p dir="auto">את אותה שגיאה קיבלתי גם כשהשתמשתי בספריה הקודמת שהזכרתי : , אבל חשבתי שאולי הבעיה שזה לא רץ על localhost.. אח"כ חשבתי שאולי הבעיה היא שהוא לא מצליח לטעון את הHTML מהשרת כי אין לו את ההרשאה הדרושה - אז הוספתי [AllowAnonimous] מעל הפונקציה הזאת, אך דבר לא הועיל...</p>
<p dir="auto">אשמח לעזרה!!<br />
תודה רבה רבה!<br />
אברהם</p>
<p dir="auto"><em>פורסם במקור בפורום CODE613 ב16/03/2016 10:33 (+02:00)</em></p>
]]></description><link>https://tchumim.com/topic/941/wkhtmltopdf-שגיאת-שרת-לא-נמצא</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 10:28:14 GMT</lastBuildDate><atom:link href="https://tchumim.com/topic/941.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Jan 2018 11:23:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to wkhtmltopdf: שגיאת &quot;שרת לא נמצא&quot; on Mon, 29 Jan 2018 11:23:10 GMT]]></title><description><![CDATA[<p dir="auto">הנה קובץ לדוגמא:<br />
<a href="/assets/uploads/files/1517224986585-recieptno42-4.pdf">RecieptNo42 (4).pdf</a><br />
השתמשתי בספריה שהזכרתי ואכן היא עושה את העבודה בצורה מאד פשוטה והיא כוללת גם את התמונות וקבצי הCSS הכלולים בHTML.<br />
צריך רק שההפניה אליהם תהיה עם URL מוחלט ולא יחסי, וזה עובד יופי.<br />
רק הבעיה היא שזה לא רץ על AZURE ולכן אני צריך לנסות לעשות זאת עם ITextSharp שזה קצת יותר מסובך..</p>
<p dir="auto">תודה לכולם!</p>
<p dir="auto"><em>פורסם במקור בפורום CODE613 ב16/03/2016 21:14 (+02:00)</em></p>
]]></description><link>https://tchumim.com/post/6236</link><guid isPermaLink="true">https://tchumim.com/post/6236</guid><dc:creator><![CDATA[avr416]]></dc:creator><pubDate>Mon, 29 Jan 2018 11:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to wkhtmltopdf: שגיאת &quot;שרת לא נמצא&quot; on Mon, 29 Jan 2018 11:23:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/%D7%93%D7%95%D7%93">@<bdi>דוד</bdi></a> ל.ט.</p>
<blockquote>
<p dir="auto">אבל כל הסיפור הזה לתשאל את השרת כדי לבל את הhtml מרונדר נראה לי סיבוך. חיפשתי בגוגל איך לגשת לפלט של razor מצד השרת (mvc action get output string) ומצאתי <a href="http://stackoverflow.com/a/2759898/1271037" target="_blank" rel="noopener noreferrer nofollow ugc">http://stackoverflow.com/a/2759898/1271037</a>. קח את התוצאה השניה, ואז עם הסטרינג (שזה למעשה הhtml שאחרי רנדור הrazor) שים לממיר במקום url ככה:</p>
<pre><code>PdfDocument document = new PdfDocument() { Html = MyRenderedString };
</code></pre>
</blockquote>
<p dir="auto">מעולה!! זה אכן עובד עכשיו.<br />
בהתחלה באמת ניסיתי עם סטרינג וזה לא עבד.. אז חשבתי שאולי אם הוא יגש בצורה עצמאית לשרת זה יעבוד יותר טוב, וניסיתי גם את הדרך הזאת שגם היא לא עבדה...<br />
גם לאחר ששיניתי זה זרק שגיאה, אבל אז הוספתי את השורה הזאת שמורה לו להתעלם משגיאות: " --load-media-error-handling ignore " של כשל בטעינה של ספריות חיצוניות וזה אכן עובד..<br />
העניין הוא שלא הצלחתי למצוא איך לשלוח לו את הפרמטר הזה, אז חזרתי לספריה הראשונה שניסיתי () וזה אכן עבד.<br />
לסיכומו של ענין הנה הקוד המלא - אם זה יעזור למישהו:</p>
<pre><code>public ActionResult CreateReciept(int? id)
        {
            if (id == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            var donat = loadDonationsVM().Where(x =&gt; x.Id == id).FirstOrDefault();
            if (donat == null) { return HttpNotFound(); }            

            string fileName = "RecieptNo" + donat.Id + ".pdf";
            string html = AVRHelperMethod.RenderViewToString(ControllerContext,
                "~/Views/ManageOrganization/CreateRecieptInHtml.cshtml",
                donat, true);

            MemoryStream memory = new MemoryStream();
            var htmlToPDF = new HtmlToPdfConverter();
            var pdfBytes = htmlToPDF.GeneratePdf(html);
            htmlToPDF.CustomWkHtmlArgs = " --load-media-error-handling ignore ";
            htmlToPDF.GeneratePdf(html, null, memory);
            memory.Position = 0;
            return File(memory, "application/pdf", Server.UrlEncode(fileName));
        }
</code></pre>
<p dir="auto">תודה רבה!</p>
<p dir="auto"><em>פורסם במקור בפורום CODE613 ב16/03/2016 15:41 (+02:00)</em></p>
]]></description><link>https://tchumim.com/post/6235</link><guid isPermaLink="true">https://tchumim.com/post/6235</guid><dc:creator><![CDATA[avr416]]></dc:creator><pubDate>Mon, 29 Jan 2018 11:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to wkhtmltopdf: שגיאת &quot;שרת לא נמצא&quot; on Mon, 29 Jan 2018 11:23:09 GMT]]></title><description><![CDATA[<p dir="auto">הרגע אני רואה שבאשכול אחר ידעת מצויין להמיר לסטרינג, רק כנראה לא הצליח לך/לא ידעת לתת לwkhtmltopdf סטרינג במקום url.</p>
<p dir="auto"><em>פורסם במקור בפורום CODE613 ב16/03/2016 13:43 (+02:00)</em></p>
]]></description><link>https://tchumim.com/post/6234</link><guid isPermaLink="true">https://tchumim.com/post/6234</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Mon, 29 Jan 2018 11:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to wkhtmltopdf: שגיאת &quot;שרת לא נמצא&quot; on Mon, 29 Jan 2018 11:23:08 GMT]]></title><description><![CDATA[<p dir="auto">אתה פונה בשרת לurl של עצמך בשביל לקבל את הhtml? גם אחרי שנפתור את בעייתך כדאי לפשט את המסורבלות הזו.<br />
אבל השגיאה אצלך ברורה מאוד: שמת בריקפוינט לבדוק מה הurl? הוא יחסי, ונראה ככה: "/CreateRecieptInHtml?id=50". אז בשביל הדפדפן זה כתובת יחסית לדף בו הוא נמצא משא"כ בצד השרת. כתובת מוחלטת אתה יכול להשיג ככה <a href="http://stackoverflow.com/a/3066943/1271037" target="_blank" rel="noopener noreferrer nofollow ugc">http://stackoverflow.com/a/3066943/1271037</a>.</p>
<p dir="auto">אבל כל הסיפור הזה לתשאל את השרת כדי לבל את הhtml מרונדר נראה לי סיבוך. חיפשתי בגוגל איך לגשת לפלט של razor מצד השרת (mvc action get output string) ומצאתי <a href="http://stackoverflow.com/a/2759898/1271037" target="_blank" rel="noopener noreferrer nofollow ugc">http://stackoverflow.com/a/2759898/1271037</a>. קח את התוצאה השניה, ואז עם הסטרינג (שזה למעשה הhtml שאחרי רנדור הrazor) שים לממיר במקום url ככה:</p>
<pre><code>PdfDocument document = new PdfDocument() { Html = MyRenderedString };
</code></pre>
<p dir="auto"><em>פורסם במקור בפורום CODE613 ב16/03/2016 13:34 (+02:00)</em></p>
]]></description><link>https://tchumim.com/post/6233</link><guid isPermaLink="true">https://tchumim.com/post/6233</guid><dc:creator><![CDATA[dovid]]></dc:creator><pubDate>Mon, 29 Jan 2018 11:23:08 GMT</pubDate></item></channel></rss>