hptj 发表于 2013-11-18 15:18:00

【WinForms】Win form FarPoint打印成PDF问题

我希望打印生成的PDF能和excel本身打印预览的一样,有办法吗,使用的sheet是第二张,谢谢!

iceman 发表于 2013-11-18 17:12:00

回复 1楼hptj的帖子

需要设置PrintInfo缩放属性:

      private void Form1_Load(object sender, EventArgs e)
      {
            this.fpSpread1.Sheets.OpenExcel("原始文件.xls", 1);

            PrintInfo pt = new PrintInfo();
            pt.Orientation = PrintOrientation.Landscape;
            pt.PrintToPdf = true;
            pt.PdfFileName = "test.pdf";
            pt.ZoomFactor = 0.75f;
            pt.ShowColor = true;
            pt.UseSmartPrint = true;


            this.fpSpread1.Sheets.PrintInfo = pt;
            this.fpSpread1.AllowCellOverflow = true;

            this.fpSpread1.PrintSheet(0);


      }

hptj 发表于 2013-11-18 17:15:00

请问控件能根据excel内容自动缩放吗

iceman 发表于 2013-11-18 17:17:00

回复 3楼hptj的帖子

不好意思,这个目前无法做到。

hptj 发表于 2013-11-18 17:40:00

那可以只生成可打印区域吗,和打印预览时看到的内容一样

hptj 发表于 2013-11-18 17:55:00

我发现这样生成的PDF还是有文字部分消失的情况,我把pt.ZoomFactor调小了也一样

hptj 发表于 2013-11-18 17:56:00

表单的名字是“(一)XX信息系统应用控制流程的了解和测试”

iceman 发表于 2013-11-18 18:20:00

回复 5楼hptj的帖子

那可以只生成可打印区域吗,和打印预览时看到的内容一样
》》设置打印范围:

            //设置打印范围
            pt.RowEnd = this.fpSpread1.Sheets.GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data);
            pt.ColEnd = this.fpSpread1.Sheets.GetLastNonEmptyColumn(FarPoint.Win.Spread.NonEmptyItemFlag.Data);


我发现这样生成的PDF还是有文字部分消失的情况,我把pt.ZoomFactor调小了也一样
》》请问是哪些位置,能否给个截图?我这里没能重现,请参考 Demo:



打印生成PDF文件,可以直接查看效果:

hptj 发表于 2013-11-18 19:49:00

这是文字消失的截图


请问有没有PrintArea这样的属性,可以方便输出范围而不是自己手动设置开始结束列,因为我们有上百个xls文件,每个都可能不一样,不可能每个都设一下

hptj 发表于 2013-11-18 19:51:00

回复 9楼hptj的帖子

GetLastNonEmptyColumn行吗,我们有的列有内容,但XLS中设置为打印区域之外
页: [1] 2
查看完整版本: 【WinForms】Win form FarPoint打印成PDF问题