以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]打印方向  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119812)

--  作者:天一生水
--  发布时间:2018/6/1 11:55:00
--  [求助]打印方向

 快递单是横着放的,打印确是竖着的,是哪里原因?

 


图片点击可在新窗口打开查看此主题相关图片如下:image 1.jpg
图片点击可在新窗口打开查看

打印代码:


            Dim doc As New PrintDoc \'定义一个报表
           
            doc.PageSetting.Width = 230 \'纸张宽度为100毫米
            doc.PageSetting.Height = 127 \'纸张高度为120毫米
            Dim rx As prt.RenderText \'定义一个文本对象
            Doc.PageSetting.LeftMargin = 19 \'设置左边距
            Doc.PageSetting.RightMargin = 20 \'设置右边距
            Doc.PageSetting.TopMargin = 24 \'设置上边距
            Doc.PageSetting.BottomMargin = 12 \'设置下边距
           
           
            Dim x As Integer = val(e.Form.Controls("TextBox01").Value) \'定义水平偏移参数
            Dim y As Integer = val(e.Form.Controls("TextBox02").Value) \'定义垂直偏移参数

        ......


--  作者:有点甜
--  发布时间:2018/6/1 12:07:00
--  

你是打印预览后打印的,还是直接打印的?

 

你设置好以后,直接doc.print行不行?

[此贴子已经被作者于2018/6/1 12:07:03编辑过]

--  作者:天一生水
--  发布时间:2018/6/1 12:09:00
--  

没有预览,直接打印的。

......

doc.print


--  作者:有点甜
--  发布时间:2018/6/1 12:13:00
--  

试试设置

 

http://www.foxtable.com/webhelp/scr/2904.htm

 


--  作者:天一生水
--  发布时间:2018/6/1 12:41:00
--  

可以啦,谢谢甜老师!

 

设置一个新纸张:EMS 23X12.7   

因为测试时,选的打印纸是A4纸,A4的宽度只有21cm,所以打印机自动横着打印了。

 

还存在几个问题:

1、打印完成后,进程窗口一直不关闭,怎么设置?

2、能否在代码中设置选用的打印机为:LQ730

3、另外,怎样在窗口设置一个按钮,调出  打印服务器属性 设置?

 


图片点击可在新窗口打开查看此主题相关图片如下:image 2.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/6/1 12:57:14编辑过]

--  作者:有点甜
--  发布时间:2018/6/1 14:48:00
--  

1、正常打印的情况,不可能有你这种问题出现,请检查你的代码。或者单独测试一段简单的打印代码;

 

2、参考 http://www.foxtable.com/webhelp/scr/1588.htm

 

3、参考代码

 

Dim doc As New PrintDoc \'定义一个报表
Dim rt As New prt.RenderText \'定义一个文本对象
rt.Text = "Hello Foxtable,I Love YOU!" \'设置文本对象的内容
doc.Body.Children.Add(rt) \'将文本对象加入到报表

Dim diag As New System.Windows.Forms.PrintDialog  \'打印
If diag.ShowDialog() = 1 Then
    Dim ps As System.Drawing.Printing.PrinterSettings = diag.PrinterSettings
    \'ps.PrinterName = "打印机名"  \'设置打印机名
    \'ps.Copies = 2   \'设置份数
    doc.Print(ps)     \'打印
End If


--  作者:天一生水
--  发布时间:2018/6/1 16:59:00
--  

甜老师,我测试了一下,打印完后,用鼠标右键点击桌面的状态栏,进程窗口才能关闭。

 

请老师看一下我的打印代码有没有问题?

谢谢!

e.Form.ResumeRedraw
e.Form.StopRedraw
Dim doc As New PrintDoc \'定义一个报表

doc.PageSetting.Width = 230 \'纸张宽度为100毫米
doc.PageSetting.Height = 127 \'纸张高度为120毫米
Dim rx As prt.RenderText \'定义一个文本对象
Doc.PageSetting.LeftMargin = 19 \'设置左边距
Doc.PageSetting.RightMargin = 20 \'设置右边距
Doc.PageSetting.TopMargin = 24 \'设置上边距
Doc.PageSetting.BottomMargin = 12 \'设置下边距


Dim x As Integer = val(e.Form.Controls("TextBox01").Value) -25 \'定义水平偏移参数
Dim y As Integer = val(e.Form.Controls("TextBox02").Value) -2 \'定义垂直偏移参数
Dim rm As prt.RenderImage \'定义一个图形队形
With Tables("EMS编辑_table1")
    For Each Currow As Row In .GetCheckedRows
              
        Dim rep As New prt.RenderEmpty \'定义一个新的空对象
        rep.BreakBefore = prt.BreakEnum.Page \'打印前换页
        doc.Body.Children.Add(rep ) \'加入到报表中
       
        rx = new prt.RenderText
        rx.Text = CurRow("年")
        rx.Style.Font = New Font("宋体", 10, FontStyle.Bold)
        rx.x = 69 + x \'设置坐标的时候,注意加上偏移参数
        rx.y = 27 + y
        doc.body.Children.Add(rx)
             
        ......
        rx = new prt.RenderText
        rx.Text = CurRow("收件人邮政编码_6")
        rx.Style.Font = New Font("宋体", 10, FontStyle.Bold)
        rx.x = 204 + x \'设置坐标的时候,注意加上偏移参数
        rx.y = 68 + y
        doc.body.Children.Add(rx)
    Next
End With
doc.print

 

 


--  作者:有点甜
--  发布时间:2018/6/1 17:41:00
--  

直接这样写,测试有没有问题

 

Dim doc As New PrintDoc \'定义一个报表
Dim rt As New prt.RenderText \'定义一个文本对象
rt.Text = "Hello Foxtable" \'设置文本对象的内容
doc.Body.Children.Add(rt) \'将文本对象加入到报表
doc.Print

 

或者试试加上代码,如

 

ShowAppWindow("打印进程", 5)


--  作者:天一生水
--  发布时间:2018/6/4 11:32:00
--  

谢谢甜老师!

把最前面的两句代码注释掉,就可以退出“打印进程”了。

e.Form.ResumeRedraw
e.Form.StopRedraw

-------------

遇到一个新问题,连续打印时,从第二张开始,打印的坐标  向右向上  有0.5mm偏移,但是并不累加偏移,第二张以后都是一样的。是什么原因?

见图的红框中的勾号:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/6/4 11:36:00
--  

1、预览是否正常?如果预览页不正常,那就调整成正常的,再打印;

 

2、如果预览正常,打印不正常,那你每次重新 New PrintDoc ,再打印。