java - 在 Chrome 的 Vaadin 子窗口中显示嵌入的 PDF

标签 java pdf google-chrome vaadin

我有一个 Vaadin 应用程序,我正在尝试显示我正在本地读取的 PDF 作为存储在我的网络服务器上的 PDF。

        setCaption(mainApp.getMsg("app.subwindow.help.title"));
    setHeight("750px");
    setWidth("1000px");
    setModal(true);
    setDraggable(false);
    setResizable(false);
    setBorder(Window.BORDER_MINIMAL);
    setScrollable(true);

    VerticalLayout vl = new VerticalLayout();
    vl.setSpacing(true);    
    vl.setSizeFull();

    Embedded pdf = new Embedded("test", new StreamResource(new StreamSource() {     
            public InputStream getStream() {
                InputStream is = PdfWindow.class.getClassLoader().getResourceAsStream("Lifestyle-Tracker-Promo.pdf");
                return is;
            }
        }, "file.pdf", mainApp));       

    pdf.setType(Embedded.TYPE_BROWSER);
    pdf.setMimeType("application/pdf"); 

    pdf.setSizeFull(); 
    vl.addComponent(pdf);   

    addComponent(vl);

我正在尝试在页面上的嵌入式 PDF 阅读器中显示 PDF。该代码在 IE8 和 Firefox 上运行良好,但在 Chrome 的嵌入式 PDF 阅读器上运行不佳。有没有其他人遇到过这个问题并有任何建议?

最佳答案

尝试将内容设置为完整,您是否尝试将垂直布局设置为窗口的内容?

Window window = new Window();
        ((VerticalLayout) window.getContent()).setSizeFull();

Embedded pdf = new Embedded("test", new StreamResource(new StreamSource() {     
            public InputStream getStream() {
                InputStream is = PdfWindow.class.getClassLoader().getResourceAsStream("Lifestyle-Tracker-Promo.pdf");
                return is;
            }
        }, "file.pdf", mainApp));   

pdf.setType(Embedded.TYPE_BROWSER);
pdf.setMimeType("application/pdf"); 
pdf.setSizeFull();

window.addComponent(pdf);
getMainWindow().addWindow(window);

关于java - 在 Chrome 的 Vaadin 子窗口中显示嵌入的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202031/

相关文章:

php - FPDF - WriteHTML 函数中的 PHP?

python-2.7 - PDF 格式的 scikit 学习文档

java - 不应使用来自 "com.sun.*"和 "sun.*"包的 SonarQube 规则类

java - 常量类的接口(interface)模式

java - 使用 java servlet 在浏览器中显示 Pdf

html - Chrome 检查器中嵌套的 IFrame 元素上的 "Copy as HTML"

android - Android 上 chrome 25 中的语音输入

android - Chrome 检查设备未显示设备

java - XSLT <xsl :element> equivalent in JSP?

java - 如何暂停正在运行的线程并在需要时重新启动同一线程?