pdfbox c# port : Bookmarks in pdf files SDK software service wpf windows asp.net dnn AmazonKindlePublishingGuidelines9-part509

Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
91 
.class1 {font-size: 2em;} 
CSS 
CSS Styles Applied  to Mobi  
CSS Styles Applied to KF8 
p { 
font-style: normal; 
h { 
font-weight: bold; 
div.example { 
margin: 10px 
ul {  
margin: 20px; 
padding-left: 30px; 
.firstletter { 
float: left; 
font-size: 3em; 
line-height: 1; 
font-weight: bold; 
padding-right: .2em; 
@media amzn-mobi { 
.firstletter { 
float: 0; 
font-size: 3em; 
line-height: 0; 
font-weight: bold; 
padding-right: 0; 
p { 
font-style: normal; 
h { 
font-weight: bold; 
div.example { 
margin: 10px 
ul {  
margin: 20px; 
padding-left: 30px; 
.firstletter { 
float: 0; 
font-size: 3em; 
line-height: 0; 
font-weight: bold; 
padding-right: 0; 
p { 
font-style: normal; 
h { 
font-weight: bold; 
div.example { 
margin: 10px 
ul {  
margin: 20px; 
padding-left: 30px; 
.firstletter { 
float: left; 
font-size: 3em; 
line-height: 1; 
font-weight: bold; 
padding-right: .2em; 
17.3.1 Submitting a Media Query 
There are four options for submitting media queries: 
One CSS file; 
Different CSS files; 
Style tags; and 
@import. 
Bookmarks in pdf files - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create bookmarks pdf files; add bookmarks to pdf reader
Bookmarks in pdf files - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
convert word to pdf with bookmarks; export bookmarks from pdf to excel
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
92 
17.3.1.1 Option 1: Using One CSS File. 
Media queries can specify different CSS for Mobi and KF8 formats in the same CSS file. In the example 
below, a different .class1  class is specified for the Mobi format than for the other formats in the same 
CSS file. 
Example: 
.class1 { 
font-style: italic; 
font-size:2em; 
@media amzn-mobi { 
.class1 { 
font-size:3em; 
font-weight: bold; 
17.3.1.2 Option 2: Using Different CSS Files 
Media queries can specify different CSS for Mobi and KF8 formats in different CSS files. In the example 
below, the Mobi and KF8 formats utilize different CSS style sheets and the common CSS styles apply to 
all media. 
Example: 
<link href="common.css" rel="stylesheet" type="text/css"> 
<link href="kf8.css" media="amzn-kf8" rel="stylesheet" type="text/css"> 
<link href="mobi.css" media="amzn-mobi" rel="stylesheet" type="text/css"> 
17.3.1.3 Option 3: Using Style tags 
Media queries can specify different CSS for Mobi and KF8 formats directly using <style> tags. 
Example: 
<style type="text/css"> 
<style type="text/css" media="amzn-kf8"> 
<style type="text/css" media="amzn-mobi"> 
17.3.1.4 Option 4: Using @import 
Media queries can specify different CSS for Mobi and KF8 formats directly using @import to include 
different CSS files. 
C# PDF File Split Library: Split, seperate PDF into multiple files
C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines. This is an C# example of splitting a PDF to two new PDF files.
delete bookmarks pdf; creating bookmarks in pdf files
VB.NET PDF File Split Library: Split, seperate PDF into multiple
VB.NET codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines This is an VB.NET example of splitting a PDF to two new PDF files.
bookmarks in pdf; how to create bookmark in pdf with
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
93 
Example: 
@import 
@import url(common.css); 
@import url(kf8.css) amzn-kf8; 
@import url(mobi7.css) amzn-mobi;  
17.3.2 Using the display:none Property with Media Queries 
To specify different CSS for the content in Mobi 7 and KF8 format, use the display:none property with 
media queries. Support for the display:none property in the Mobi 7 format is available in Kindlegen 2.4 
and later versions. 
Example: 
.defaultcontent {  
display: block;  
.mobicontent {  
display: none;  
@media amzn-mobi { 
.defaultcontent {  
display: none;  
.mobicontent {  
display: block;  
17.3.2.1 Using the display:none Property with Complex Tables  
Tables have extensive support in KF8, but complex tables do not render well in Mobi 7. With the 
display:none property, you can use an HTML-based table for the KF8 content and an image-based 
table for Mobi 7, as shown in the example below. 
Example: 
.defaultcontent {  
display: block;  
C# PDF File Compress Library: Compress reduce PDF size in C#.net
method, TIFF files compression and decompression method and Image files compression and size, images size reducing can help to reduce PDF file size Bookmarks.
how to add bookmark in pdf; create pdf bookmarks
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
converter toolkit SDK, preserves all the original anchors, links, bookmarks and font How to Use C#.NET Demo Code to Convert PDF Document to HTML5 Files in C#
creating bookmarks pdf; export pdf bookmarks
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
94 
.mobicontent {  
display: none;  
@media amzn-mobi { 
.defaultcontent {  
display: none;  
.mobicontent {  
display: block;  
<table class="defaultcontent" bordercolor="#E66C2C" border="1" cellpadding="4"> 
<tr> 
<th>Heading</th> 
<th>Heading</th> 
<th>Heading</th> 
</tr> 
<tr> 
<td>Cell</td> 
<td>     
<table bordercolor="#003399" border="1" cellpadding="4"> 
<tr> 
<td>Nested</td> 
<td>Nested</td> 
</tr> 
<tr> 
<td>Nested</td> 
<td>Nested</td> 
</tr> 
.NET PDF SDK - Description of All PDF Processing Control Feastures
View,Convert,Edit,Process,Protect,SignPDF Files. in HTML5; Outstanding rendering of PDF documents; Full Outlines, bookmarks, & thumbnail display; Integrated text
add bookmarks pdf; creating bookmarks in a pdf document
.NET PDF SDK | Read & Processing PDF files
Simple to convert PDF files to raster images (color or Able to convert PDF documents into other formats extraction of text, hyperlinks, bookmarks and metadata;
adding bookmarks to a pdf; create pdf with bookmarks from word
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
95 
</table>  
</td> 
<td>Cell</td> 
</tr> 
</table> 
<img class="mobicontent" src="tableimage.jpg"></img> 
17.3.2.2 Using the display:none Property with SVG Images  
The SVG image format is supported in KF8, but not in Mobi 7. With the display:none property, you can 
use an SVG image for the KF8 content and a JPEG image for the Mobi 7 content, as shown in the 
example below. 
Example: 
.defaultcontent {  
display: block;  
.mobicontent {  
display: none;  
@media amzn-mobi { 
.defaultcontent {  
display: none;  
.mobicontent {  
display: block;  
<svg class="defaultcontent" xmlns="http://www.w3.org/2000/svg" version="1.1"> 
<circle cx="100" cy="50" r="40" stroke="black" fill="red" /> 
</svg> 
<img class="mobicontent" src="circleimage.jpg"></img> 
XDoc.Excel for .NET, Comprehensive .NET Excel Imaging Features
navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Excel to PDF; Convert Excel to HTML5; Combine and merge multiple Excel files; Append Excel
convert word pdf bookmarks; export pdf bookmarks to excel
XDoc.Word for .NET, Advanced .NET Word Processing Features
page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail Convert Word to PDF; Convert Word to HTML5; combine, and append multiple Word files into one
excel hyperlink to pdf bookmark; how to add bookmarks to a pdf
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
96 
17.3.2.3 Limitation on Using the display:none Property  
Kindle limits usage of the display:none property for content blocks beyond 10000 characters. If the 
display:none property is applied to a content block that is bigger than 10000 characters, Kindlegen 
returns an error. 
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
97 
18 Appendix D: Guidelines for Converting XMDF to KF8  
Kindlegen Command 
18.1
Kindlegen accepts the folder containing the XMDF source file as input. Use the command: 
kindlegen <folder name> 
You can use an additional command line option (-intermediate_only) to generate intermediate 
OPF/HTML files: 
kindlegen -intermediate_only <folder name> 
This option generates intermediate files as OPF/HTML files in a new folder next to the input folder. 
Kindlegen names this folder with the input folder name followed by _dump. To change anything in the 
intermediate files, use these intermediate HTML or OPF files. 
The OPF file is named current_content.opf and can be found at the same location as the main.xml file. 
Use the following command to generate the KF8 from OPF/HTML files: 
kindlegen <OPF File> 
Source Issues 
18.2
An XMDF source can have multiple issues that degrade the reading experience on Kindle. You can 
correct these issues to improve the reading experience. The following sections list a few of the top source 
issues found in our testing, 
18.2.1 Poor Image Quality 
Bad quality images will result in the cover or other image being displayed too small. To avoid this, provide 
good quality images. For quality requirements, see section 4 Cover Image Guidelines and section 9.4 
Image Guidelines. 
18.2.2 Blurred Gaiji characters 
Replace Gaiji characters with corresponding code characters or provide high quality images of at least 64 
x 64 to avoid blurring. 
Requirements for Gaiji image files: 
Image format: PNG (8-bit) format or JPEG format (8-bit transparent image recommended) 
Size: 128 x 128 pixels or greater is recommended 
18.2.3 TOC Entries Hanging Style 
Use the proper style of positive margin and negative indent to create TOC text with the proper 
indentation. 
Correct: 
<p top_line_indent = "-1em" top = "1em"> 
<char_id char_id = "CR0002">Part 1</char_id><br/> 
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
98 
<char_id char_id = "CR0004">Sub-Part 1</char_id><br/> 
<char_id char_id = "CR0006">Sub-Part 2</char_id><br/> 
</p> 
Incorrect: 
<char_id char_id = "CR0002">Part 1</char_id><br/> 
<char_id char_id = "CR0004">Sub-Part 1</char_id><br/> 
<char_id char_id = "CR0006">Sub-Part 2</char_id><br/> 
18.2.4 TOC Entries Not Linked 
All TOC items must be linked to the corresponding chapter.  
18.2.5 Incorrect Number Orientation in TOC 
Apply tate-chu-yoko style for TOC index numbers to avoid incorrect number orientation. 
Correct: 
<char_id char_id = "CR0020"> 
<yoko>10</yoko> 
</char_id> 
CHAPTER X 
Incorrect: 
<char_id char_id = "CR0020">10</char_id> 
CHAPTER X 
18.2.6 Bold Kanji Characters 
Avoid bold style for Kanji characters. This sort of styling makes the characters look blurred. 
Correct: 
Incorrect: 
<font bold = "yes">
</font> 
18.2.7 Faded Text 
Leave the text color unspecified. Using light colors results in faded text.  
Some Kindle devices allow the reader to change the background color to black. If text is forced black, it 
will not be readable in this mode and the book will be suppressed.  
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
99 
18.2.8 No Space Between Images 
Use line breaks (<br/>) to avoid images rendered without space. 
Example: 
<object type="image/png" src="image1.png"/>  
<br/> 
<object type="image/png" src="image2.png"/> 
18.2.9 Images Not Shown In Separate Pages 
To display images on separate pages, use separate chapters for each image. 
18.2.10 TOC Not Shown 
To ensure that the TOC is shown, include all of the important links in <special_page_link>. 
Example: 
<special_page_link>  
<special_page title="Chapter 1">PG1111</special_page>  
<special_page title="Chapter 2">PG1112</special_page>  
...  
</special_page_link> 
18.2.11 Large Amount of Text Is Not Centered 
Do not use the valign="middle" style for large amounts of text. 
18.2.12 Duplicate IDs 
Do not use the same Flow ID/Page ID mentioned in the source. Use unique ID names. 
18.2.13 File Path and File Name Requirements 
Do not use the backward slash (\) for specifying file path; always use the forward slash (/) instead. Do not 
include special characters (such as !, @, #, $) in the file path or file name. 
Unsupported Features 
18.3
Some XMDF features are not supported in Kindle. If the file has such features, Kindlegen displays an 
error message and fails the conversion. These are the unsupported features. 
Serial 
No. 
Feature 
Tag 
Example 
Image 
animations 
flip_animation 
<flip_animation renewal_time="500ms" >  
<flip_animation_source src="aaa9.jpg" 
type="image/jpeg"/>  
<flip_animation_source src="aaa2.jpg" 
type="image/jpeg"/>  
...  
</flip_animation> 
Publishing on Kindle: Guidelines for Publishers 
Kindle Publishing Guidelines 
Amazon.com 
100 
Serial 
No. 
Feature 
Tag 
Example 
Comic books   comic_object_entry 
<parts_module>  
<object_table>  
...  
<comic_object_entry src="comic9.xml" 
type="application/x-bvf-comic" 
object_id="OB0001"/>  
</object_table>  
</parts_module> 
Sound media  sound_object_entry 
<parts_module>  
<object_table>  
...  
<sound_object_entry src="movie9.3g2" 
type="video/3gpp2" object_id="OBmv00"/> 
</object_table>  
</parts_module> 
Movie media  movie_object_entry 
<parts_module>  
<object_table>  
...  
<movie_object_entry src="movie9.3g2" 
type="video/3gpp2" object_id="OBmv00"/> 
</object_table>  
</parts_module> 
Search pages  search_page_object_entry  <parts_module>  
e>  
<object_table>  
...  
<search_page_object_entry src="spage9.xml" 
type="text/x-bvf-search-page" 
object_id="OBSP01" /> 
</object_table>  
</parts_module> 
Clickable 
area in 
images 
pointer_region 
<event>  
<trigger>  
<trigger_pointer id="OB003k/CR0001" 
action_flag="click"> 
<pointer_region>  
<vertex position="(0,0)"/>  
<vertex position="(100,0)"/>  
<vertex position="(100,100)"/>  
<vertex position="(0,100)"/>  
</pointer_region>  
</trigger_pointer>  
</trigger>  
<action>  
<action_page_jump page_id="PG0043"/>  
</action>  
</event> 
Trigger action 
pointing to a 
URL with 
ampersand 
action_page_jump 
<event> 
<trigger> 
<trigger_pointer id="OB0006/CR0015" 
action_flag="click"/> 
Documents you may be interested
Documents you may be interested