{"componentChunkName":"component---src-templates-blog-post-js","path":"/blog/print-to-file-w-csharp-na-windows-10","result":{"data":{"markdownRemark":{"html":"<p>Jeśli zdarzy Ci się konieczność drukowania czegoś z C# za pomocą bibliotecznej klasy <code class=\"language-text\">System.Drawing.Printing.PrintDocument</code> - i będziesz chciał wydrukować coś do pliku (do PDFa), to wiedz, że musisz dodać jedną ważną linijkę. A mianowicie - podać <code class=\"language-text\">PrinterName</code> w <code class=\"language-text\">PrinterSettings</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"csharp\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-csharp line-numbers\"><code class=\"language-csharp\">printDocument<span class=\"token punctuation\">.</span>PrinterSettings<span class=\"token punctuation\">.</span>PrinterName <span class=\"token operator\">=</span> <span class=\"token string\">\"Microsoft Print to PDF\"</span><span class=\"token punctuation\">;</span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span></span></pre></div>\n<p>Jeśli tego nie zrobisz, a będziesz drukował do pliku (czyli ustawisz <code class=\"language-text\">PrintToFile</code> na <code class=\"language-text\">true</code>), to plik co prawda się stworzy, ale będzie jakiś taki <em>corrupted</em> i przeglądarka PDFów nie będzie chciała go otworzyć. Taki przynajmniej miałem efekt na Windowsie 10.</p>\n<p>Finalnie całość konfiguracji wyglądałaby tak:</p>\n<div class=\"gatsby-highlight\" data-language=\"csharp\"><pre style=\"counter-reset: linenumber NaN\" class=\"language-csharp line-numbers\"><code class=\"language-csharp\"><span class=\"token class-name\"><span class=\"token keyword\">var</span></span> printDocument <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token constructor-invocation class-name\">PrintDocument</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nprintDocument<span class=\"token punctuation\">.</span>PrinterSettings<span class=\"token punctuation\">.</span>PrinterName <span class=\"token operator\">=</span> <span class=\"token string\">\"Microsoft Print to PDF\"</span><span class=\"token punctuation\">;</span>\nprintDocument<span class=\"token punctuation\">.</span>PrinterSettings<span class=\"token punctuation\">.</span>PrintToFile <span class=\"token operator\">=</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">;</span>\nprintDocument<span class=\"token punctuation\">.</span>PrinterSettings<span class=\"token punctuation\">.</span>PrintFileName <span class=\"token operator\">=</span> <span class=\"token string\">@\"some\\path\\to\\file.pdf\"</span><span class=\"token punctuation\">;</span></code><span aria-hidden=\"true\" class=\"line-numbers-rows\" style=\"white-space: normal; width: auto; left: 0;\"><span></span><span></span><span></span><span></span><span></span></span></pre></div>","excerpt":"Jeśli zdarzy Ci się konieczność drukowania czegoś z C# za pomocą bibliotecznej klasy  - i będziesz chciał wydrukować coś do pliku (do PDFa), to wiedz, że musisz…","frontmatter":{"date":"07 January, 2021","path":"/blog/print-to-file-w-csharp-na-windows-10","title":"Print to file w C# na Windows 10"},"fields":{"readingTime":{"text":"1 min read"}}}},"pageContext":{}},"staticQueryHashes":["3649515864","63159454"]}