我有一个 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/