javascript - 如何截取整个网页的屏幕截图?

标签 javascript java html jsp screenshot

我想在浏览器中截取Jsp页面的屏幕截图。我用谷歌搜索了很多。每个人都在关注 java.awt.Robot 功能。太好了。但我需要的是完整网页的屏幕截图,该屏幕也在浏览器窗口的可滚动区域内。此外,我只想要网页内容,而不是浏览器上的状态栏和其他选项卡和菜单。我使用了以下代码。

public class ScreenCapture {

public void TakeCapture() 
{
try
{
        Robot robot = new Robot();
        String format = "jpg";
        String fileName = "D:\\PDFTest\\PartialScreenshot." + format;

        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Rectangle captureRect = new Rectangle(0, 0, screenSize.width , screenSize.height);
        BufferedImage screenFullImage = robot.createScreenCapture(captureRect);
        ImageIO.write(screenFullImage, format, new File(fileName));


     Document document = new Document();
    String input = "D:\\PDFTest\\PartialScreenshot.jpg"; 
    String output = "D:\\PDFTest\\PartialScreenshot.pdf";
    try {
      FileOutputStream fos = new FileOutputStream(output);
      PdfWriter writer = PdfWriter.getInstance(document, fos);
      writer.open();
      document.open();
      document.add(Image.getInstance(input));
      document.close();
      writer.close();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
}

catch (AWTException | IOException ex) {
        System.err.println(ex);

    }
}

public String getTakeCapture() {
    return getTakeCapture();
}

有没有办法获取在浏览器中查看的完整 JSP 网页的屏幕截图(沿着可滚动窗口内的内容),然后我必须将此屏幕截图转换为 PDF。不要告诉我使用 FlyingSaucer 直接将其转换为 PDF 的方法,因为它不适用于我的情况。

最佳答案

这在纯 Java 中是不可能的。

但是您可以添加 html2canvas库到您的 JSP 页面。然后,您可以使用 Javascript 将 Canvas 图像提交到您的 servlet 并根据需要进行处理。

请参阅以下处理类似问题的问题和答案:How to upload a screenshot using html2canvas?

关于javascript - 如何截取整个网页的屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011958/

相关文章:

javascript - 自定义 Mapbox 切片集未显示在 Leaflet.js 中

java - Android Studio 代码可以编译但无法运行

javascript - 我正在尝试创建一个从英寸到英尺的转换器,但只显示小数

html - 工具提示隐藏在溢出滚动/自动容器上

javascript - 从 ng-change 获取文件

javascript - 从关键字集中获取奇数的正则表达式

java - 如何为 jgroup 复制 HashMap 中的状态传输设置超时?

php - 网站表单验证

javascript - getElementById 具有模型中的唯一 id

java - 如何为按钮分配方法?