我正在尝试打印加载在' DotNetBrowser.Browser'中的网页作为PDF文档,并使用DotNetBrowser PrintHandler进行本地保存。这在使用WinFormsBrowserView的Windows窗体应用程序中工作正常,但在控制台应用程序的情况下,PrintHandler不打印整个页面,即只打印页面的某些部分并保存为pdf。
答案 0 :(得分:1)
以下是演示如何加载网站并将其打印为PDF的示例代码:
Running via Spring preloader in process 12578
Loading development environment (Rails 5.0.1)
2.3.3 :001 > u = User.new
=> #<User id: nil, email: "", created_at: nil, updated_at: nil, first_name: nil, last_name: nil, image_url: nil, headline: nil, dob: nil, gender: nil, webpage_url: nil, twitter: nil, linkedin: nil, blog_url: nil, description: nil, country: nil, state: nil, city: nil, phone: nil, full_bio: nil, profile_claimed: nil>
2.3.3 :002 > u.email = "test@test.com"
=> "test@test.com"
2.3.3 :003 > u.password = "password"
=> "password"
2.3.3 :004 > u.password_confirmation = "password"
=> "password"
2.3.3 :005 > u.save
(0.2ms) begin transaction
(0.1ms) rollback transaction
=> false
2.3.3 :006 > u.errors
=> #<ActiveModel::Errors:0x007f87163eeac8 @base=#<User id: nil, email: "test@test.com", created_at: nil, updated_at: nil, first_name: nil, last_name: nil, image_url: nil, headline: nil, dob: nil, gender: nil, webpage_url: nil, twitter: nil, linkedin: nil, blog_url: nil, description: nil, country: nil, state: nil, city: nil, phone: nil, full_bio: nil, profile_claimed: nil>, @messages={:email=>["can't be blank"]}, @details={:email=>[{:error=>:blank}, {:error=>:blank}]}>
如您所见,有一个同步打印 - 在完全打印网页之前,该方法不会返回。
您能否请在您的网站上测试此代码并告诉我结果?
答案 1 :(得分:0)
最后,我可以通过将初始大小设置为浏览器来在控制台应用程序中打印PDF。
browserView.Browser.SetSize(1280,1024)
这是我在代码中遗漏的内容。由于未显示浏览器,因此设置初始大小可解决PDF文件打印不完整的问题。