C# 如何以编程方式激活.HTML或.DOCX或.PDF文件(使其具备Kindle功能)?

C# 如何以编程方式激活.HTML或.DOCX或.PDF文件(使其具备Kindle功能)?,c#,formatting,pdf-generation,docx,kindle,C#,Formatting,Pdf Generation,Docx,Kindle,经验观察使我得出结论,当我将书籍文件上传到CreateSpace(打印书籍)时,最好是从.pdf文件中呈现。Kindle(电子书)格式,OTOH,作为.docx文件提供时效果更好 尽管如此,它们还远远不够完美。我创建了一本只包含文本的书——一种字体为英语,另一种字体为粗体,交替翻译成西班牙语段落。平装本看起来不错。下面是它的显示方式: 不过,Kindle版本的文件“比一袋烟蒂还要丑9倍”(或者至少比内布拉斯加州还要丑): 正如您所看到的,它在段落之间没有分隔符(除了换行符-大呼呼!),并且没

经验观察使我得出结论,当我将书籍文件上传到CreateSpace(打印书籍)时,最好是从.pdf文件中呈现。Kindle(电子书)格式,OTOH,作为.docx文件提供时效果更好

尽管如此,它们还远远不够完美。我创建了一本只包含文本的书——一种字体为英语,另一种字体为粗体,交替翻译成西班牙语段落。平装本看起来不错。下面是它的显示方式:

不过,Kindle版本的文件“比一袋烟蒂还要丑9倍”(或者至少比内布拉斯加州还要丑):

正如您所看到的,它在段落之间没有分隔符(除了换行符-大呼呼!),并且没有保留西班牙语段落的粗体格式,甚至没有章节标题格式!Kindinzing过程显然认为所有文本都是平等的-没有尝试任何特殊格式

因此,既然Kindle的呈现过程显然不能很好地工作(如果给他们提供与我创建图书文件相同的PDF格式,情况会更糟——由于某种原因,呈现内容中缺少了部分PDF格式),那么有没有一种方法可以通过编程方式(用C#)对文件(HTML、DOCX或PDF)进行处理这将允许呈现的Kindle文件看起来像平装本(保留段落分隔符和粗体格式)

更新 我下载了Calibre(也就是说,我试过了),谷歌屏蔽了它,说天塌下来了,Calibre会毁了我的浏览体验。Dadburn it,如果这是合法软件,谷歌为什么要阻止它

更新2 我尝试使用Firefox下载Calibre,但尽管没有错误消息,但它根本无法下载该文件。所以,也许它也在阻止它,但“静默”是Amazon的工具,用于获取HTML等输入并将其转换为MOBI文件。我们在Rails项目中使用过它,在过去取得了很多成功,您可以随时使用命令行来运行它

是一个第三方工具,它接受更多的格式(PDF、EPUB等),并输出更多的格式。这是一个绝对合法的工具,它有一个非常有用的命令行界面(
ebookconvert

对于我们的项目,我们无法在CentOS服务器上安装Calibre,因此我们最终只能使用
kindlegen
并转换HTML文件。实际上,具体地说,我们采用了带有各种图像的OPF文件、html文件、
toc.ncx
文件等,以创建一个
.mobi
文件供最终发布


您可能还想了解Kindle支持哪些字体,并确保正确指定了您的字体和样式。Amazon在描述CSS的有效性方面做得相当好。

这有点宽泛,因为听起来你在寻找一个完整的转换程序。我想知道你是否检查过。维基百科的文章还提到kindle应该支持html5和css3的一个子集。如果你有格式良好的html文档,用它转换成kindle格式。“格式良好”的定义是什么?虽然不是Raquel Welch风格,但HTML文件有一个样式部分(带有CSS),后面是HTML(没有“HTML”标记或任何标记,只是从那里开始)