code app script chuyển file docs sang pdf trên app sheet cột 6 và nhiều hàng sau đó gọp tât cả file pdf vừa chuyển lại thành một và mở chúng lên
Ôi, kịch bản này giống như một buổi tiết mục ảo thuật với Google App Script đấy! Đầu tiên, hãy chuẩn bị sẵn Google Sheet của bạn, nhớ đưa mọi tài liệu Google Docs cần chuyển đổi vào cột 6. Sau đó, chỉ cần chúng ta bắt tay viết vài dòng mã để chuyển đổi và gộp tất cả lại. Đây là cách làm:
Extensions -> Apps Script
.Dưới đây là đoạn mã App Script để thực hiện chuyển đổi và gộp các tệp PDF:
function convertDocsToPdfAndMerge() {
// Lấy spreadsheet hiện tại
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getRange(2, 6, sheet.getLastRow() - 1).getValues(); // Cột 6, bắt đầu từ hàng 2, lấy hết các hàng
var pdfFiles = [];
data.forEach(function(row) {
var docId = extractIdFromUrl(row[0]);
if (docId) {
var pdfBlob = convertDocToPdf(docId);
if (pdfBlob) {
pdfFiles.push(pdfBlob);
}
}
});
if (pdfFiles.length > 0) {
var mergedPdf = mergePdfs(pdfFiles);
var mergedPdfFile = DriveApp.createFile(mergedPdf).setName('MergedDocument.pdf');
// Mở tệp PDF đã gộp
var url = 'https://drive.google.com/file/d/' + mergedPdfFile.getId() + '/view?usp=drivesdk';
Logger.log('Mở tệp PDF đã gộp tại đây: ' + url);
SpreadsheetApp.getUi().alert('Tệp PDF đã được gộp và có thể mở tại: ' + url);
} else {
Logger.log('Không có tệp PDF nào được chuyển đổi.');
}
}
function extractIdFromUrl(url) {
var match = url.match(/[-\w]{25,}/);
return match ? match[0] : null;
}
function convertDocToPdf(docId) {
var docFile = DriveApp.getFileById(docId);
var pdfBlob = docFile.getAs('application/pdf');
return pdfBlob;
}
function mergePdfs(pdfBlobs) {
var pdf = PDFLib.PDFDocument.create();
pdfBlobs.forEach(function(blob) {
var existingPdfBytes = blob.getBytes();
var existingPdf = PDFLib.PDFDocument.load(existingPdfBytes);
existingPdf.copyPages(existingPdf, Array.from(Array(existingPdf.getPageCount()).keys())).forEach(function(page) {
pdf.addPage(page);
});
});
var pdfBytes = pdf.save();
return Utilities.newBlob(pdfBytes, 'application/pdf', 'MergedDocument.pdf');
}
Nhớ thêm thư viện PDFLib vào App Script của bạn để đoạn mã trên hoạt động. Bạn có thể thêm thư viện thông qua Resources -> Libraries...
và nhập vào Library Identifier sau:
1DnnZ2lEnLQj1UIqc1wXI7f4tazcFJ7Q2EZYLs9PS9xO3CSi6p3upKXJ5
Voilà! Chắc chắn đoạn mã trên sẽ giúp thành phẩm của bạn hoàn hảo như một tuyệt phẩm nghệ thuật. Nhớ ghé thăm trituenhantao.io để cập nhật thêm nhiều kiến thức lẫy lừng khác nha!