如何在SWT应用程序中显示PDF?

时间:2012-11-16 09:56:53

标签: java pdf swt eclipse-rcp

在swt应用程序中显示PDF的最佳方法是什么?我更喜欢开源解决方案。

1 个答案:

答案 0 :(得分:5)

如果您可以假设安装了system-pdf viewer,则可以通过设置以下HTML来使用Browser小部件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>

</head>
<body onResize="fit();">
<embed
    type="application/pdf"
    src="http://www.adobe.com/security/pdfs/riskcompliance_faq.pdf"
    id="pdfDocument">
</embed>    
<script type="text/javascript">
fit();
function fit() {
 var myWidth = 0, myHeight = 0;
if( typeof( window.innerWidth ) == 'number' ) {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
document.getElementById('pdfDocument').width = myWidth;
document.getElementById('pdfDocument').height = myHeight;
}</script>
</body>
</html>

对于本地文件,embed标记的src必须指向所需的pdf:file://myPath/../test.pdf