Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OpenHTMLtoPDF自定义页面大小_C#_Openhtmltopdf - Fatal编程技术网

C# OpenHTMLtoPDF自定义页面大小

C# OpenHTMLtoPDF自定义页面大小,c#,openhtmltopdf,C#,Openhtmltopdf,我正在尝试使用OpenHTMLtoPDF设置自定义页面大小。我试图将HTML源代码转换为58mm x 110mm热敏纸打印作业,但是,我在这方面遇到了困难 我尝试过直接设置页面大小,如下所示: var pdf = Pdf.From(html).OfSize(58,110);//Invalid arguments 及 您定义的大小不正确 您需要做的是创建一个新的纸张大小,如下所示: OpenHtmlToPdf.PaperSize size = new OpenHtmlToPdf.PaperSi

我正在尝试使用
OpenHTMLtoPDF
设置自定义页面大小。我试图将HTML源代码转换为58mm x 110mm热敏纸打印作业,但是,我在这方面遇到了困难

我尝试过直接设置页面大小,如下所示:

var pdf = Pdf.From(html).OfSize(58,110);//Invalid arguments 


您定义的大小不正确

您需要做的是创建一个新的纸张大小,如下所示:

OpenHtmlToPdf.PaperSize size = new OpenHtmlToPdf.PaperSize(Length.Millimeters(58), Length.Millimeters(110));
然后,要将PDF文档设置为正确的纸张大小,您可以这样称呼它

var pdf = Pdf.From(html).OfSize(size);

旁注

如果您使用不同的测量单位,您可以定义您使用的测量单位,如下所示:

Length.Inches(MeasurementInInches);
Length.Centimeters(MeasurementInCentimeters);

我把这当作一个问答式的问题贴了出来,因为我被困在这个问题上一个小时了,找不到任何关于如何做到这一点的信息。在玩了一个小时后,我发现了它,并认为它值得分享。对于类似热敏打印纸,是否有可能使用固定宽度和动态高度?(将高度设置为最终html元素高度)。@qakmak我不知道。一个解决方案是根据要打印的行数粗略计算大小。我认为这不是一个好的解决方案,因为html中的单词可能会自动换行,因为我不知道行数……还有一个解决方案我可以想到。使用设定的纸张大小(100mm)进行测试,然后查看有多少页(假设测试中有4页),然后使用设定的大小和页数重新运行测试,这样您的页面高度将为400mm。嗯…,我可以设置页面高度,但我仍然需要检查最终生成的pdf文件页数。最后我使用pdfium的PdfReader,因为它是免费的。谢谢你给我提的好建议。
Length.Inches(MeasurementInInches);
Length.Centimeters(MeasurementInCentimeters);