mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-10-31 10:37:00 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| APNX
 | |
| ----
 | |
| 
 | |
| apnx files are used by the Amazon Kindle (firmware revision 3.1+) to
 | |
| map pages from a print book to the Kindle version. Integers within
 | |
| the file are big-endian.
 | |
| 
 | |
| 
 | |
| Layout
 | |
| ------
 | |
| 
 | |
| bytes   content             comments 
 | |
| 
 | |
| 4       00010001            Format identifier. Value of 65537 little-endian.
 | |
| 4       start of next       The offset after ending location of the first header.
 | |
|                             Starts a new sequence of header info
 | |
| 4       length              Length of first header
 | |
| N       first header        String containing content header
 | |
| Starts next sequence
 | |
| 2       unknown             Always 1
 | |
| 2       length              Length of second header
 | |
| 2       page count          Total number of bytes after second header that
 | |
|                             represent pages. This total includes bytes that
 | |
|                             are ignored by the pageMap.
 | |
| 2       unknown             Always 32
 | |
| N       second header       String containing the page mapping header
 | |
| 4*N     padding             The first number given in the page mapping header indicates the number of 0 bytes.
 | |
| 4*N     page list           
 | |
| 
 | |
| 
 | |
| Content Header
 | |
| --------------
 | |
| 
 | |
| The content header is a string enclosed in {} containing key, value pairs.
 | |
| 
 | |
| content             comments
 | |
| 
 | |
| contentGuid         Guid.
 | |
| asin                Amazon identifier for the Kindle version of the book.
 | |
| cdeType             MOBI cdeType. Should always be EBOK for ebooks.
 | |
| fileRevisionId      Revision of this file.
 | |
| 
 | |
| Example:
 | |
| {"contentGuid":"d8c14b0","asin":"B000JML5VM","cdeType":"EBOK","fileRevisionId":"1296874359405"}
 | |
| 
 | |
| 
 | |
| Page Mapping Header
 | |
| -------------------
 | |
| 
 | |
| The page mapping header is a string enclosed in {} containing key, value pairs.
 | |
| 
 | |
| content             comments
 | |
| 
 | |
| asin                The ISBN 10 for the paper book the pages correspond to
 | |
| pageMap             Three value tuple. Looks like: "(N,N,N)"
 | |
|                     1) Number of bytes after header that starts the page numbering sequence
 | |
|                     2) unknown
 | |
|                     3) unknown
 | |
| 
 | |
| Example:
 | |
| {"asin":"1906694184","pageMap":"(4,a,1)"}
 | |
| 
 | |
| 
 | |
| Page List
 | |
| ---------
 | |
| 
 | |
| The page list is a sequence of offsets in the uncompressed HTML. Each
 | |
| value is the beginning of a new page. Each entry is a 4 byte big endian
 | |
| int. The list is ordered lowest to highest. |