早在2010年,一些人声称能够做到这一点:
http://www.mobileread.com/forums/showthread.php?t=103847
“Kindle将其注释存储在每个文档的Mobipocket(”.mobi“)文件中,并存储在一个名为”My Clippings.txt“的长文本文件中。在这篇文章中,我描述了一个将这些注释与PDF版本同步的系统计算机上的相应文件。
概述
该系统体现在Applescript中,该Applescript解析My Clippings文件并控制Skim PDF阅读器。该脚本首先解析剪辑文件。然后它搜索剪辑并隔离来自与当前打开的PDF文件的文件名匹配的文件上的文件(“相关剪报”)。然后,脚本遍历每个相关剪辑,在PDF文档中定位匹配的文本或位置,并在适当的位置应用高亮或添加注释。最终结果是带注释的可打印PDF文档,该文档与kindle上的文档相匹配。
您可以在此处下载脚本:http://dl.dropbox.com/u/2541109/KindleClippings.scpt。在运行脚本之前,请务必更改MyEmail的值以匹配您的发送地址,并验证MyClippingsFile中定义的Kindle安装点是否正确。您还需要免费的Skim PDF阅读器。
要使用它,请将文档文件发送或复制到您的kindle。请记住,kindle支持RTF,DOC,TXT和其他常见文本格式,它会在内部将它们转换为MobiPocket文件,以便于阅读。做一些笔记。然后将您刚发送到kindle的同一文档转换为PDF格式,例如通过在Mac OS X中使用print to PDF功能。确保文件名保持不变。在Skim中打开相同的PDF并运行脚本。高亮显示和注释应出现在PDF中。
如果您对其工作原理感兴趣,请在我的博客上阅读更多内容: [不再可用]
可悲的是,他的剧本已不再可用,也没有他的博客。你们知道这是否可行?我一直在寻找这种功能,但无法在任何地方找到它。
答案 0 :(得分:1)
我正在尝试使用Python + Windows宏创建者(我是Win 7用户)。您可以使用此方法将文件另存为RTF,DOCX,PDF等。到目前为止,它已经相当有效。先注意两件事:
1-“我的剪报”文件仅保存文字和页面,不保存页面上的位置(例如,如果您突出显示“哺乳动物”) “在第15页上它是动物,它会给你这一行和页码,但如果第15页有不止一个”哺乳动物是动物“,那么就不可能知道你突出了哪一个)。当您突出显示一个通用词,例如“animals”或“the”时,这一点特别糟糕。如果你通过按一个单词发表评论,这个单词就是你在评论所指的页面中得到的唯一信息(例如,我按下“动物”并弹出菜单,我选择了“评论”如果“动物”在第15页出现20次,我不知道我的评论中提到的是哪一个。)
2-检索页面上位置的唯一方法是分析Kindle驱动器('Documents')中* .sdr文件夹内的* .pds和* .pdt文件。我对这些文件没有任何意义。
在Python中,您可以运行一个简单的代码,从“我的剪报”中提取您想要的信息。然后,您可以使用宏创建器自动复制文本并将其注释为PDF(例如,使用Adobe Acrobat),然后保存PDF文件。
使用Adobe Acrobat进行举例说明:
说我想将所有重点保存到PDF文件中。首先,我将在Python上创建一个* .txt文件并运行一个脚本,将与高亮相关的所有字符串复制到这个新的txt文件(即突出显示的文本和页码)。以下是此类代码的示例(但首先,将“My Clippings.txt”文件复制并粘贴到IDE开始文件夹,例如:C:\ Python27):
#for python 2.7.6
with open('My Clippings.txt','r') as rf:
with open('My Clippings Output.txt','w') as wf:
access = 0
bookTitle = 'Book Title'#put the book file's name as it's written in "My Clippings.txt"
for x in rf:
if access == 1:
wf.write(x)
if bookTitle in x:
access = 1
#for highlights only, instead of all annotations, include this if statement:
if (' | Added on ' in x) and ('- Your Note ' in x) or ('- Your Bookmark ' in x):
access = 0
if x == '==========\n':
access = 0
然后我将创建一个宏来复制“My Clippings Output.txt”文件中的页码(它位于放置“My Clippings.txt”文件的同一个文件夹中),粘贴在Acrobat“页面窗口”中,找到(ctrl + f)页面中的字符串,然后按“突出显示”。完成!
虽然Acrobat中有一个问题,搜索/查找功能的限制为~28个字符,因此突出显示的文本不能超过该字符。我仍然不知道如何规避这个限制......我在这里提出了这个问题https://superuser.com/questions/884221/how-to-search-and-highlight-long-passages-in-a-pdf-file。作为Acrobat上28个字符限制的旁路,您可以使用“shift”+“右箭头28次”对宏进行编程,然后使用“cut”而不是“copy”。
有许多免费使用和免费的宏观创作者,只需谷歌并选择你最喜欢的那个。对于Windows,我最喜欢的是Pulover的Macro Creator。如果您对此过程有任何疑问,可以在这里发表评论或PM我。我希望你在这里发表评论,以便我可以改进答案