我正在尝试在Google文档中插入指向工程图的链接。
我希望代码给出与以下输入相同的结果:
1。打开文档
2。插入
3。绘图
4。来自驱动器
5。链接到来源
我的代码只是将图形放置在文档中,而无需将其链接到原始
function myFunction() {
var doc = DocumentApp.openById('documentID');
var drawing = DriveApp.getFileById('drawingID');
var drawingId = drawing.getId();
var image = Drive.Files.get(drawingId);
var imageBlob = getBlob(image.exportLinks['image/jpeg']);
var body = doc.getBody();
body.appendImage(imageBlob);
}
function getBlob(url) {
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}
答案 0 :(得分:0)
不幸的是,目前尚不可能这样做。
我找到了一种解决方法,包括通过添加更新功能来更改文档的脚本。
function main(e)
{
var doc = DocumentApp.getActiveDocument();
var allImage = doc.getBody().getImages();
if(allImage.length != 0)
{
for(var i = 0; i < allImage.length; i++)
{
update(doc, allImage[i]);
}
}
}
function update(doc, image)
{
var drawingUrl = image.getLinkUrl();
if(drawingUrl != null)
{
var drawing = DriveApp.getFileById(getIdFromUrl(drawingUrl));
var drawingId = drawing.getId();
image.removeFromParent();
var newImage = Drive.Files.get(drawingId);
var imageBlob = getBlob(newImage.exportLinks['image/jpeg']);
var body = doc.getBody();
body.appendImage(imageBlob).setLinkUrl(drawingUrl);
}
}
function getIdFromUrl(url)
{
return url.match(/[-\w]{25,}/);
}
function getBlob(url) {
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}