我不知道我完全理解你的問題,但這裏是我做了在外部配置文件PDF查看器,希望這將有助於在一定程度上:
<script type="text/javascript">
$(function() {
var customData = { serviceUrl: 'services/PDFWebService.asmx', token: '<%=initialDoc.Value %>', isReadonly: '<%=IsReadonly?"yes":"no" %>' };
var myWebViewer = new PDFTron.WebViewer({
path: "Resources/js/PDFTron",
mobileRedirect: false, // Disable redirect in mobile view.
stream: true,
config: 'Resources/js/PDFViewerConfig.js',
documentType: "pdf",
custom: JSON.stringify(customData),
l: '<%=LicenseKey%>',
initialDoc: customData.serviceUrl + '/GetFile?token=' + customData.token
}, document.getElementById('viewer'));
});
我PDFViewerConfig.js是:
(function() {
$(document).on('viewerLoaded', function() {
customData = JSON.parse(window.ControlUtils.getCustomData());
SetupCustomizations();
});
$(document).on('documentLoaded', function() {
setDisabled("#btnSave");
setDisabled("#btnReset");
setDisabled("#btnPushUp");
});
$(document).on('pageChanged', function (event) {
var currentPageNumber = readerControl.getCurrentPageNumber();
var totalPages = readerControl.docViewer.getDocument().getPageCount();
if (currentPageNumber == totalPages) {
setDisabled("#btnPushDown");
setEnabled("#btnPushUp");
}
else if (currentPageNumber == 1) {
setDisabled("#btnPushUp");
setEnabled("#btnPushDown");
}
else {
setEnabled("#btnPushUp");
setEnabled("#btnPushDown");
}
});
})();
function SetupCustomizations() {
if (customData && customData.isReadonly != "yes") {
var removeButton = $('<span aria-disabled="false" role="button" tabindex="0" class="glyphicons remove" title="remove page"></span>');
var saveButton = $('<span aria-disabled="true" role="button" tabindex="0" id="btnSave" class="glyphicons floppy_disk disabled" title="save changes"></span>');
var resetButton = $('<span aria-disabled="true" role="button" tabindex="0" id="btnReset" class="glyphicons restart disabled" title="reset to original"></span>');
var rotateRightButton = $('<span aria-disabled="false" role="button" tabindex="0" class="glyphicons share" title="rotate right"></span>');
var rotateLeftButton = $('<span aria-disabled="false" role="button" tabindex="0" class="glyphicons unshare" title="rotate left"></span>');
var pushDownButton = $('<span aria-disabled="false" role="button" tabindex="0" id="btnPushDown" class="glyphicons down_arrow" title="move current page down"></span>');
var pushUpButton = $('<span aria-disabled="true" role="button" tabindex="0" id="btnPushUp" class="glyphicons up_arrow disabled" title="move current page up"></span>');
removeButton.on('click', onRemove);
removeButton.on('keydown', onRemove);
saveButton.on('click', onSave);
saveButton.on('keydown', onSave);
resetButton.on('click', onReset);
resetButton.on('keydown', onReset);
rotateRightButton.on('click', onRotateRight);
rotateRightButton.on('keydown', onRotateRight);
rotateLeftButton.on('click', onRotateLeft);
rotateLeftButton.on('keydown', onRotateLeft);
pushDownButton.on('click', onPushDown);
pushDownButton.on('keydown', onPushDown);
pushUpButton.on('click', onPushUp);
pushUpButton.on('keydown', onPushUp);
var newButtonsPlaceholder = $("#downloadButton").parent();
newButtonsPlaceholder.prepend(removeButton);
newButtonsPlaceholder.prepend(rotateLeftButton);
newButtonsPlaceholder.prepend(rotateRightButton);
newButtonsPlaceholder.prepend(pushDownButton);
newButtonsPlaceholder.prepend(pushUpButton);
newButtonsPlaceholder.prepend(saveButton);
newButtonsPlaceholder.prepend(resetButton);
}
//508
$("#ui-id-3").attr("tabindex", "0");
$("#prevPage").attr("tabindex", "0");
$("#nextPage").attr("tabindex", "0");
$("#printButton").attr("tabindex", "0");
$("#fullScreenButton").attr("tabindex", "0");
$("#downloadButton").attr("tabindex", "0");
$("#zoomIn").attr("tabindex", "0");
$("#zoomOut").attr("tabindex", "0");
$("#fitWidth").attr("tabindex", "0");
$("#fitPage").attr("tabindex", "0");
$("#prevPage").attr("role", "button");
$("#nextPage").attr("role", "button");
$("#printButton").attr("role", "button");
$("#fullScreenButton").attr("role", "button");
$("#zoomIn").attr("role", "button");
$("#zoomOut").attr("role", "button");
removeExtraButtons();
}
如果在Pdftron上託管,是否有任何方法可以爲觀衆提供價值?我們正試圖用已完成的搜索打開查看器。做搜索部分是好的,並且已經掌握瞭如何通常使用Javascript來與查看器一起工作,但是從我們的網站向觀衆提供價值是一種痛苦,因爲跨域請求阻塞等等。可以爲觀衆提供一個價值,也許作爲URL上的一個參數? – JMK 2014-10-31 13:19:46
你可以在你的服務器上啓用CORS來處理你正在做的請求(http://enable-cors.org/server.html)嗎?我只是在我的服務器上啓用了一個小測試,然後做了一些簡單的$ .get(「myserver.com/test.php」,function(result){...})。然後在回調中,我開始搜索,似乎所有的工作。 – mparizeau 2014-11-07 19:20:07
嗨@mparizeau您是否考慮過公開一些更常用的功能,例如通過URL進行搜索。這將避免消費者需要考慮CORS。會很有幫助。 – richardwhatever 2014-11-10 12:45:55