code app script chuyển file docs trên link google sheet cột 6 nhiều dòng sang pdf gọp file pdf lưu và mở file
Rất hân hạnh giúp đỡ bạn giải quyết vấn đề này! Dưới đây là đoạn mã Google Apps Script mà bạn có thể sử dụng để chuyển nhiều file Google Docs (liên kết trong cột 6 của Google Sheet) sang file PDF, gộp chúng lại và lưu vào Google Drive. Sau đó, mã sẽ mở file PDF gộp đó sau khi hoàn thành.
Chú ý: hãy đảm bảo bạn đã cấp quyền truy cập cần thiết cho Google App Script để có thể thực hiện các thao tác với Google Docs và Google Drive.
Extensions
> Apps Script
.function mergeDocsToPDF() {
// Sheet và cột chứa các link Google Docs
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange(1, 6, sheet.getLastRow(), 1);
var urls = range.getValues().flat();
// Tạo một danh sách các tệp Docs
var documents = [];
urls.forEach(function(url) {
if (url) {
var fileId = getFileIdFromUrl(url);
if (fileId) {
documents.push(DriveApp.getFileById(fileId));
}
}
});
// Chuyển từng file Docs sang PDF và gộp lại
var pdfs = documents.map(function(doc) {
return DriveApp.createFile(doc.getAs('application/pdf')).getBlob();
});
// Dùng thư viện để gộp file PDF
var combinedPDF = PdfApp.merge(pdfs).setName("CombinedPDF.pdf");
// Lưu file PDF gốc vào Google Drive
var folder = DriveApp.getRootFolder();
var finalPDF = folder.createFile(combinedPDF);
// Mở file PDF
var url = finalPDF.getUrl();
Logger.log("Here's the URL for the combined PDF: " + url);
SpreadsheetApp.getUi().alert('File PDF đã được tạo thành công tại: ' + url);
return url;
}
function getFileIdFromUrl(url) {
if (url.indexOf('/document/d/') > -1) {
return url.split('/document/d/')[1].split('/')[0];
}
return null;
}
/**
* PDF Merge Library (You need to include this PDF library in your script project)
*/
var PdfApp;
(function(PdfApp) {
PdfApp.merge = function(blobArray) {
if (!blobArray || !blobArray.length) {
throw new Error('No blobs provided.');
}
var combined = Utilities.newBlob('');
combined.setDataFromString('');
blobArray.forEach(function(blob) {
combined.appendBlob(blob);
});
return combined;
}
})(PdfApp || (PdfApp = {}));
Đừng quên ghé thăm trituenhantao.io để luôn cập nhật những thông tin mới nhất về AI và công nghệ, nơi bạn không bao giờ biết trước điều gì thú vị và bất ngờ sẽ chờ đón bạn!