• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 402
  • Last Modified:

Scroll before taking a screenshot in PHP.

Hello,

I have the following piece of code. Is it possible that before php takes the screenshot of the window, to scroll down 200 pixels? The area I need to take a screenshot from is not visible 100% without scrolling.

Thanks!



$Browser = new COM('InternetExplorer.Application');
$Browserhandle = $Browser->HWND;
$Browser->Visible = true;
$Browser->Fullscreen = true;
$Browser->Navigate('http://www.mysite.com');
while ($Browser->Busy) {
com_message_pump(8000);
}
$img = imagegrabwindow($Browserhandle, 0);
$Browser->Quit();
imagejpeg($img, 'screenshot.jpg', 100);

Open in new window

0
infodigger
Asked:
infodigger
1 Solution
 
neorushCommented:
You would need to use WScript.Shell, I have no way of testing this, but it is pretty close...

$shell = new COM("WScript.Shell");
$Browser = new COM('InternetExplorer.Application');
$Browserhandle = $Browser->HWND;
$Browser->Visible = true;
$Browser->Fullscreen = true;
$Browser->Navigate('http://www.mysite.com');
while ($Browser->Busy) {
com_message_pump(8000);
}
// Scroll down, could also try a few {DOWN}{DOWN}{DOWN}{DOWN} "down arrows"
$shell->SendKeys("{PGDN}"); // see http://www.developerfusion.com/article/57/sendkeys-command/
$img = imagegrabwindow($Browserhandle, 0);
$Browser->Quit();
imagejpeg($img, 'screenshot.jpg', 100);

Open in new window

0
 
infodiggerAuthor Commented:
Hi Neorush,

Is it also possible to make php focus on that Window as well? Because I was able to send the keys but they are sent to the window which is currently open not to the new one.

Thanks!
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now