只有一部分PDF正在转换



我有一个PDF,我试图从中提取文本。
为了做到这一点,我已经尝试将内容放入Google Doc。

PDF有1180页(3MB),但只有前77页被转换为文本。
我试过Drive.Files.insertDrive.Files.copy,但得到相同的结果。
我还尝试使用MS Word转换PDF并引用该文件(2.5MB) -结果相同。

我在PDF或Word中看不到任何指示"文件结束"的内容。这将阻止文档的其余部分进行转换。没有错误消息-只是我需要的6.5%。我只能假设它最初是较小的PDF合并。

还有什么我应该看的吗?有人遇到过这种情况吗?
我可以操作PDFtext字符串来获得我需要的数据,但不能转换前77页以外的内容。
这是我用来获得我需要的文本字符串。

function txtPDF() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sht = ss.getSheetByName('Sheet1');
var mycell = sht.getRange('B1');
var myPdfID = mycell.getValue().toString();
var PDFblob = DriveApp.getFileById(myPdfID).getBlob();
var resource = {
title: PDFblob.getName(),
// mimeType: PDFblob.getContentType()
};
// var tmpfile = Drive.Files.insert(resource, PDFblob, {ocr: true, ocrLanguage: "en"});
var tmpfile = Drive.Files.copy(resource, myPdfID, {convert: true, ocr: true, ocrLanguage: "en"});
var doc = DocumentApp.openById(tmpfile.id);
// var doc = Drive.Files.copy({}, 'WordFileID', {'convert': true});
// var doc = DocumentApp.openById('WordFileID');
var PDFtext = doc.getBody().getText();
// Drive.Files.remove(doc.getId());  
};

我好像违反了Google Drive的限制。

文档可以高达50MB——这不是问题。然而,有102万个字符的限制。1180页超过了这个值,所以我想我能得到任何东西都是幸运的。

Google Drive最大文件大小

根据文档,pdf到docs的转换仅限于2MB或更小的文件。要正确转换较大的文件,请在Google之外寻找其他替代方法。

最新更新