【问题标题】:Print an image into pdf file将图像打印成 pdf 文件
【发布时间】:2013-11-06 15:40:29
【问题描述】:

当用户使用我的应用程序进行进一步使用时,他必须拍摄应用程序的屏幕截图。当我单击按钮时,需要拍摄应用程序屏幕截图并将其存储在 png 或 pdf 文件中。谁能告诉我从哪里开始。 我看了很多.. 但我没有得到任何合适的样本。我尝试使用 http://html2canvas.hertzen.com/ 但未能从听到开始。

非常感谢您的帮助..

【问题讨论】:

  • 看看这是否有帮助:stackoverflow.com/questions/17825782/…
  • 您不认为您正在尝试通过打印屏幕破解用户桌面信息吗? :)
  • 它不是桌面.....我想在我的应用程序中使用它......当我们点击打印按钮时......我的应用程序屏幕截图需要完成
  • 应用程序截图不过是桌面屏幕的printscreen,对吧?我的意思是您需要查看屏幕缓冲区并读取像素并以二进制图像格式存储;这是访问本地硬件的一种方式。如果您的应用程序是基于 swing 的桌面应用程序,则可以通过解决方案中给出的代码逻辑实现,但如果应用程序是基于 Web 的应用程序,则不可能。

标签: java javascript html html2canvas


【解决方案1】:

对于桌面摇摆应用程序,代码可能是(取自here)

import java.awt.Robot;  
import java.awt.Rectangle;  
import java.awt.Toolkit;  
import java.awt.Canvas;  
import java.awt.Graphics;  

import java.awt.image.BufferedImage;  

import javax.swing.JFrame;  

public class CaptureScreen extends Canvas  
{  
Rectangle screenRectangle=new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());  

Robot myRobot;  

BufferedImage screenImage;  

public CaptureScreen()  
{  
try  
{  
 myRobot=new Robot();  
}  
catch(Exception exception)  
{  
 exception.printStackTrace();  
}  

screenImage=myRobot.createScreenCapture(screenRectangle);  

JFrame myFrame=new JFrame("Capture Screen");  

myFrame.add(this);  

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
myFrame.setSize(Toolkit.getDefaultToolkit().getScreenSize().width,Toolkit.getDefaultToolkit().getScreenSize().height);  
myFrame.setVisible(true);  
}  

public void paint(Graphics g)  
{  
g.drawImage(screenImage,0,0,this);  
}  

public static void main(String[]args)  
{  
CaptureScreen cs=new CaptureScreen();  
}  
}

【讨论】:

  • 嗨 gyan,我想使用客户端.. 不是来自 java 代码.. 我在我的应用程序中使用 spring
  • 客户端屏幕捕获是不可能的,我猜是因为您需要与客户端机器特定的库和硬件进行交互,Java 安全架构师根本不允许从 web 的任何代码中进行。这就是 Swing 应用程序可以做到这一点的原因,因为它是用户在桌面上安装的受信任应用程序,但对于 Web 应用程序则不可能。
  • 嗨 Gyan,但我的应用程序是一个 Web 应用程序,当我点击打印按钮时,我需要为我的应用程序截屏。我不想使用摇摆概念
  • 我认为这是不可能的。想想看,如果可能的话,任何黑客都可以创建一个Web应用程序,用户一点击,他的桌面屏幕就会到达黑客的机器,然后轰隆隆……用户的私人信息泄露!在此处不赞成对答案进行否决,至少我正在花时间回答您。
  • 你还是没有理解我的要求。我不想桌面屏幕拍摄,我想在我的网络应用程序中保留打印按钮。当用户单击该打印按钮时,我想截取我的应用程序而不是桌面的屏幕截图并将该屏幕截图保存在带有 png 或 pdf 文件的任何文件夹中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-25
  • 1970-01-01
  • 2013-07-01
  • 2012-09-17
  • 2011-05-27
相关资源
最近更新 更多