Adobe PDF嵌入API无法更改PDF(返回)



我有几乎相同的问题,在线程"Adobe PDF嵌入API无法更改PDF "以及"如何使用Adobe的pdf嵌入API中的变量作为url值?"。都是雷蒙德·卡姆登先生写的唯一的区别是,我试图从Flask传递一个url到location:url。下面是代码:

if(window.AdobeDC) displayPDF(urldata);
else document.addEventListener("adobe_dc_view_sdk.ready", 
() => displayPDF(urldata));
function displayPDF(urldata) {

document.writeln(urldata[0]);
document.writeln(urldata[1]);
var myURL = urldata[0];
var myFileName = urldata[1];
adobeDCView.previewFile({
content: {
location: {
url: myURL,
},
},
metaData: {
fileName: myFileName
}
}, viewerConfig);
} 

请注意,我正在使用Camden先生的技巧来处理

调味好的鸡肉和新鲜的鸡蛋

。我可以得到我的两个参数去html文件和js文件。它们都是从displayPDF(urldata)函数写入页面的。不幸的是,它们没有进入content:location:url和metadata:filename。如果我硬编码这两个参数与现有的PDF url和文件名,我得到我想要获得的结果。

我做错了什么?

感谢任何能给我提示的人。

祝你一切顺利,

迪FEGAzepef@hotmail.com

我找到了自己问题的答案。我也把它贴在了Adobe社区论坛上,因为"将值从外部函数传递到文档函数"。因为Shubhanshu Dixit和Raymond Camden的回复对我帮助很大。

我的目标是打开来自Azure Blob Storage的PDF文件,以便在Azure Web应用程序中使用它。该应用程序在Flask中。我是这样做的,它在Azure和本地都运行得很好:

<<p>瓶路线/strong>
@app.route("/document", methods=['GET', 'POST'])
def document():   
# Microsoft blob storage SAS token creation for accessing PDF file in blob storage
blob = get_blob_sas(BLOB_NAME_PATH, STORAGE_ACCOUNT_KEY, BLOB_CONTAINER_NAME, document_to_retrieve)   
blob_url = 'https://'+BLOB_NAME_PATH+'.blob.core.windows.net/'+BLOB_CONTAINER_NAME+'/'+document_to_retrieve+'?'+blob
# URL and Filename parameters to send to Adobe Embed API    
urldata = [blob_url, document_to_retrieve]
return render_template('view.html', title='SYSTRA Semantic Selected Document', urldata=urldata)

HTML页面

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta id="viewport" name="viewport" content="width=device-width, initial-scale=1"/>
<script type="text/javascript" src="{{ url_for('static', filename='view.js') }}"></script>
<script type="text/javascript">
varPDF = previewFile({{urldata|tojson}})
</script>
</head>
<body style="margin: 0px">
<div id="adobe-dc-view"></div>
<script type="text/javascript" src="https://documentcloud.adobe.com/view-sdk/main.js"></script>
</body>
</html>

JAVASCRIPT函数

function previewFile(urldata) {
var myURL = urldata[0];
var myFileName = urldata[1];
if(window.AdobeDC) displayPDF(myURL, myFileName);
else document.addEventListener("adobe_dc_view_sdk.ready", 
() => displayPDF(myURL, myFileName));
}
function displayPDF(myURL, myFileName) {
document.write('displayPDF');
const viewerConfig = {
embedMode: "FULL_WINDOW",
defaultViewMode: "FIT_PAGE",    
showLeftHandPanel: true,
showAnnotationTools: true,
showDownloadPDF: true,
showPrintPDF: true,
showPageControls: true,
showDisabledSaveButton: true,
downloadWithCredentials: true
};
var adobeDCView = new AdobeDC.View({
clientId: '<CLIENT_ID_KEY_HERE',
divId: "adobe-dc-view"
});
adobeDCView.previewFile({
content: {
location: {
url: myURL,
},
},
metaData: {
fileName: myFileName
}
}, viewerConfig);
}

我希望这对你有帮助。

祝你一切顺利。迪

相关内容

  • 没有找到相关文章

最新更新