#!/usr/bin/perl use strict; use warnings; use Glib qw(TRUE FALSE); use Gtk2 -init; use Gtk2::MozEmbed; Gtk2::MozEmbed -> set_profile_path($ENV{ HOME } . "/.mybrowser", "MyBrowser"); my $moz = Gtk2::MozEmbed -> new(); $moz -> load_url("file:///root/gtk/test.html"); my $window = Gtk2::Window -> new(); $window -> signal_connect( delete_event => sub { Gtk2 -> main_quit; return FALSE; }); $window -> set_title("MyBrowser"); $window -> set_default_size(600, 400); $window -> add($moz); $window -> show_all(); my $op = Gtk2::PrintOperation->new; $moz->signal_connect( net_stop => sub { print "Document start\n"; print "Create a PDF ...\n"; $op->set_export_filename ("test.pdf"); $op -> set_allow_async(FALSE); $op->run ("export", $window); }); $op->signal_connect( status_changed => sub{ print "status changé en " . $op->get_status . "\n"; if ($op->is_finished ){ print "PDF Done\n"; } }); Gtk2 -> main;