【问题标题】:Oracle Outside In Web View Export JavaScript API loading problemOracle Outside In Web View Export JavaScript API 加载问题
【发布时间】:2018-10-20 11:40:48
【问题描述】:

我已使用 Oracle 的 OutSide In Web View Export 使用 AjaxChunked 方法将示例 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 支持论坛上有一个帖子提到了这个确切的问题,但没有提供解决方案。

任何想法或建议将不胜感激。

【问题讨论】:

    标签: javascript oracle-outside-in


    【解决方案1】:

    万一有人偶然发现这个问题并遇到同样的问题,事实证明,无论出于何种原因,OIT.view.load() 方法都无法正确加载页面的 CSS (oit.css),所以您必须手动将其放入您从中调用 view.load() 的 HTML 文件中。

    除此之外,为文档创建的顶级 DIV 的高度为零。不知道为什么,所以我们使用 OIT.view.height(document.height) 或您想要的任何高度来解决这个问题。这似乎解决了问题,并且文档在浏览器中正确显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 2023-03-31
      • 2022-12-27
      • 1970-01-01
      相关资源
      最近更新 更多