是否可以强制复制受保护的 Google 文档?

Is it possible to force a copy of a protected Google doc?

Google 文档可以“锁定”页面,这样就无法从其文本中进行复制。这对我来说似乎是错误的;计算机复制和粘贴的能力不应该是内在的吗?我无法理解网页如何“超越”其权限并阻止我的计算机做一些完全自然的事情。看来,如果我能得到服务并显示文本,我应该能够复制它。

这个网页如何防止我的机器复制?

编辑:这不再有效

我发现他们是如何禁止复制的,所以我将我的评论变成了答案。

这是在页面上运行的阻止复制的脚本:

function rtcScript() {
    document.oncontextmenu = null;
    document.onselectstart = null;
    document.onmousedown = null;
    document.onclick = null;
    document.oncopy = null;
    document.oncut = null;
    var elements = document.getElementsByTagName('*');
    for (var i = 0; i < elements.length; i++) {
        elements[i].oncontextmenu = null;
        elements[i].onselectstart = null;
        elements[i].onmousedown = null;
        elements[i].oncopy = null;
        elements[i].oncut = null;
    }
    function preventShareThis() {
        document.getSelection = window.getSelection = function() {
            return {isCollapsed: true};
        }
    }
    var scripts = document.getElementsByTagName('script');
    for (var i = 0; i < scripts.length; i++) {
        if (scripts[i].src.indexOf('w.sharethis.com') > -1) {
            preventShareThis();
        }
    }
    if (typeof Tynt != 'undefined') {
        Tynt = null;
    }
}
rtcScript();
setInterval(rtcScript, 2000);

请注意,它将每个元素设置为不可复制、不可选择或不可剪切,以及禁用上下文菜单。通过禁用页面上的脚本可以轻松绕过这一点。请参阅 this question 以了解如何在 Chrome 上执行此操作。我自己对此进行了测试 - 如果您在查看锁定文档时通过该方法禁用 JavaScript,您可以立即开始选择和复制文本而不会出现任何问题。

以下是复制(或打印)受保护的 google sheet 值的方法。

注意:使用此技术,您可以从每个 sheet 复制单元格;复制 spreadsheet 文件本身是不可能的。保留格式,但不保留公式。

  1. 将URL改为:

    https://docs.google.com/spreadsheets/u/1/d/***[document id]***/preview

    文档 ID 是在 google sheet URL 中找到的随机字符串,通常长度为 40 到 45 个字符。

  2. 对于每个 sheet,键入 Ctrl+ACtrl+C

  3. 将单元格粘贴到另一个跨页中sheet。格式化

从 2018 年 5 月 10 日起,禁用 JavaScript 根本不会加载文档,将 'edit' 更改为 'preview' 也不再有效。

我发现如果您点击三个点并转到: More Tools > Developer Tools 然后点击console,输入'document.body.innerText',它会将整个文档加载为一个文本文件,这样你就可以复制到你想要的内容了。

我尝试了其他选项,none 对我有用 - 然后,尝试下载网页并保存 link。从文档重新打开,然后我可以下载为 PDF。

在开发人员工具中禁用 javascript,右键单击该页面,单击 'print',将打印机的打印目标更改为 'save as pdf',然后就可以了。