作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已使用 AjaxChunked
方法使用 Oracle 的 OutSide In Web View Export 将示例 PDF 文件转换为 HTML5,但我无法使用提供的 JavaScript API 正确呈现文件。正确呈现的文件直接浏览。
例如,通过 JavaScript API 的错误渲染:
以及如果直接浏览文件的外观:
正确渲染的源代码是这样的:
这是我使用 Web View Export JavaScript API 编写的 index.html:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!--<link rel="stylesheet" type="text/css" href="oit.css">-->
<script src="oit.js"></script>
<title>Oracle Web View Export Test</title>
</head>
<body>
<div id="container"></div>
<script type="text/javascript">
$(document).ready(function(){
console.log("Document ready");
var viewContainer = document.getElementById("container");
OIT.view.attach(viewContainer);
OIT.view.load("adobe-acrobat.html");
});
OIT.document.addEventListener("load", function (evt) {
console.log("Just loaded: " + evt.detail.url);
});
下面是转换文档的代码 (C#):
try
{
OutsideIn.OutsideIn.InstallLocation = new DirectoryInfo(Environment.CurrentDirectory + "\\Resources");
}
catch (Exception uhoh)
{
Console.WriteLine(uhoh.Message);
}
Exporter exporter = OutsideIn.OutsideIn.NewLocalExporter();
try
{
exporter.SetPerformExtendedFI(false);
exporter.SetFontReferenceMethod(Options.FontReferenceMethodValue.ReferenceExported);
/* The FONTDIRECTORY option must be set. */
List<DirectoryInfo> FontDirectories = new List<DirectoryInfo>();
DirectoryInfo SystemFontsDirectory = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.Fonts));
FontDirectories.Add(SystemFontsDirectory);
exporter.SetFontDirectories(FontDirectories);
exporter.SetWebViewStructure(Options.WebViewStructureValue.AjaxStreamed);
//exporter.SetPerformExtendedFI(true);
exporter.SetSourceFile(file);
exporter.SetDestinationFile(newoutputPath + "\\" + Path.GetFileNameWithoutExtension(file) + ".html");
exporter.SetDestinationFormat(FileFormat.FI_HTML5);
}
catch (Exception fail)
{
Console.WriteLine("Fail: " + fail.Message);
Console.ReadLine();
}
Console.WriteLine("Exporting: " + file);
exporter.Export();
我四处寻找导致问题的原因,但我似乎找不到任何东西。 Oracle 提供的文档不是很好,所以我不知所措。两年多前在 Oracle 支持论坛上有一篇关于这个问题的帖子,但没有提供解决方案。
如有任何想法或建议,我们将不胜感激。
最佳答案
以防万一有人偶然发现并遇到同样的问题,事实证明无论出于何种原因,OIT.view.load() 方法都没有正确加载页面的 CSS (oit.css),所以你必须手动将它放入你从中调用 view.load() 的 HTML 文件中。
除此之外,为文档创建的顶级 DIV 的高度为零。不知道为什么,所以我们使用 OIT.view.height(document.height) 或您想要的任何高度来解决这个问题。这似乎解决了问题,文档在浏览器中正确显示。
关于javascript - Oracle Outside In Web View Export JavaScript API加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52905264/
我是一名优秀的程序员,十分优秀!