我有一个脚本可以在发布新文档版本时更新Google Docs的页眉和页脚(通过从AODocs插件中检索参数)。
我的问题是footer.clear()方法似乎没有删除标题(或页脚)并在该部分的顶部留下回车符。后续版本在页脚空间中保持“增长”。
这是一个已知问题吗?我做错了吗? (我从模板中拉出一条线,这样我也可以进行分页。
以下是页脚部分的代码段:
var footerTemplate = headerFooterTemplateDoc.getFooter();
var footerParagraphs = footerTemplate.getParagraphs();
// Bring in Parameters
var title = request.parameter.title;
var owner = request.parameter.owner;
var revDate = request.parameter.revDate;
var version = request.parameter.version;
var driveFileID = request.parameter.driveFileID;
if (!DocumentApp.openById(driveFileID).getFooter()) {
var footer = DocumentApp.openById(driveFileID).addFooter();
} else {
var footer = DocumentApp.openById(driveFileID).getFooter();
footer.clear();
}
//Write the values
footer.clear();
footer.appendHorizontalRule();
footer.appendParagraph(footerParagraphs[0].copy());
footer.appendParagraph('Title: ' + title + ' - Owner: ' + owner);
footer.appendParagraph('Version: ' + version + ' - Last Revised: ' + revDate).setSpacingAfter(18);
答案 0 :(得分:1)
从Apps Script的角度来看,Google Doc的结构与HTML文档非常相似。 Google文档包含3个主要部分。
这些部分中的每一部分都可能包含不同的元素。
因此,如果您要清除Google文档中的所有元素,则必须清除其每个部分中的所有元素。
function ClearAllSectionsOfDocument() {
var doc = DocumentApp.getActiveDocument();
var bodySection = doc.getBody()
var headerSection = doc.getHeader()
var footerSection = doc.getFooter()
try {
bodySection.clear();
} catch (e) {
// case last element in body is partial and can't be cleared
bodySection.appendParagraph("");
bodySection.clear()
}
try {
headerSection.clear();
} catch (e) {
// case last element in header is partial and can't be cleared
headerSection.appendParagraph("");
headerSection.clear()
}
try {
footerSection.clear();
} catch (e) {
// case last element in footer is partial and can't be cleared
footerSection.appendParagraph("");
footerSection.clear()
}
}
答案 1 :(得分:0)
我使用此脚本,它运行良好:
async function learnLinear(records){
const model = tf.sequential();
const learningRate = 0.0001;
const optimizer = tf.train.sgd(learningRate);
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
model.compile({
loss: 'meanSquaredError',
optimizer: optimizer,
});
var values=[];
var i =1;
for(i=1;i<=20;i++){
if(typeof records[i] === 'number'){
values.push(records[i]);
}else{
alert("data is not an integer");
}
}
const xs = tf.tensor2d(Object.keys(values), [values.length, 1]);
const ys = tf.tensor2d(values, [values.length, 1]);
await model.fit(xs, ys, {epochs: 500});
for(var j=1;j<=values.length;j++){
$("#output_field").append(j+"::"+model.predict(tf.tensor2d([j], [1, 1]))+"<br/>");
}
}