Skip to main content
Correcting a few indents which in this case (Python) are critical for the script to be run
Source Link

Just copying .pdf files to the iPad will not do; the trick is to imitate Apple's ".plist" configuration files.

If you are comfortable using python, here is a simple script that will do the job for you. Simply place your .pdf files in the Books/Managed folder (after you have connected to a computer) and then run the following in that directory. Once this script is run, the iPad will recognize your .pdf files (this is in the standard iBooks app). Your .pdf files can even by in subdirectories.

import os

header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n <key>Books</key>\n  <array>\n"

footer = "  </array>\n</dict>\n</plist>"
fst = "     <dict>\n            <key>Inserted-By-iBooks</key>\n         <false/>\n             <key>Name</key>\n            <string>"
tnd = "</string>\n          <key>Page Progression Direction</key>\n         <string>default</string>\n          <key>Path</key>\n           <string>"
lst = "</string>\n          <key>s</key>\n          <string>0</string>\n        </dict>\n"
bodystr = ""

for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        sttmp = os.path.join(root, name)[2:]
        if not ".pdf" in sttmp:
            continue
        bodystr+=fst
        bodystr+=sttmp[:-4]
        bodystr+=tnd
        bodystr+=sttmp
        bodystr+=lst

file = open("Managed.plist", "w")
file.write(header);
file.write(bodystr);
file.write(footer);
file.close();

Just copying .pdf files to the iPad will not do; the trick is to imitate Apple's ".plist" configuration files.

If you are comfortable using python, here is a simple script that will do the job for you. Simply place your .pdf files in the Books/Managed folder (after you have connected to a computer) and then run the following in that directory. Once this script is run, the iPad will recognize your .pdf files (this is in the standard iBooks app). Your .pdf files can even by in subdirectories.

import os

header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n <key>Books</key>\n  <array>\n"

footer = "  </array>\n</dict>\n</plist>"
fst = "     <dict>\n            <key>Inserted-By-iBooks</key>\n         <false/>\n             <key>Name</key>\n            <string>"
tnd = "</string>\n          <key>Page Progression Direction</key>\n         <string>default</string>\n          <key>Path</key>\n           <string>"
lst = "</string>\n          <key>s</key>\n          <string>0</string>\n        </dict>\n"
bodystr = ""

for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
    sttmp = os.path.join(root, name)[2:]
        if not ".pdf" in sttmp:
        continue
    bodystr+=fst
    bodystr+=sttmp[:-4]
    bodystr+=tnd
    bodystr+=sttmp
    bodystr+=lst

file = open("Managed.plist", "w")
file.write(header);
file.write(bodystr);
file.write(footer);
file.close();

Just copying .pdf files to the iPad will not do; the trick is to imitate Apple's ".plist" configuration files.

If you are comfortable using python, here is a simple script that will do the job for you. Simply place your .pdf files in the Books/Managed folder (after you have connected to a computer) and then run the following in that directory. Once this script is run, the iPad will recognize your .pdf files (this is in the standard iBooks app). Your .pdf files can even by in subdirectories.

import os

header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n <key>Books</key>\n  <array>\n"

footer = "  </array>\n</dict>\n</plist>"
fst = "     <dict>\n            <key>Inserted-By-iBooks</key>\n         <false/>\n             <key>Name</key>\n            <string>"
tnd = "</string>\n          <key>Page Progression Direction</key>\n         <string>default</string>\n          <key>Path</key>\n           <string>"
lst = "</string>\n          <key>s</key>\n          <string>0</string>\n        </dict>\n"
bodystr = ""

for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        sttmp = os.path.join(root, name)[2:]
        if not ".pdf" in sttmp:
            continue
        bodystr+=fst
        bodystr+=sttmp[:-4]
        bodystr+=tnd
        bodystr+=sttmp
        bodystr+=lst

file = open("Managed.plist", "w")
file.write(header);
file.write(bodystr);
file.write(footer);
file.close();
Source Link

Just copying .pdf files to the iPad will not do; the trick is to imitate Apple's ".plist" configuration files.

If you are comfortable using python, here is a simple script that will do the job for you. Simply place your .pdf files in the Books/Managed folder (after you have connected to a computer) and then run the following in that directory. Once this script is run, the iPad will recognize your .pdf files (this is in the standard iBooks app). Your .pdf files can even by in subdirectories.

import os

header = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n <key>Books</key>\n  <array>\n"

footer = "  </array>\n</dict>\n</plist>"
fst = "     <dict>\n            <key>Inserted-By-iBooks</key>\n         <false/>\n             <key>Name</key>\n            <string>"
tnd = "</string>\n          <key>Page Progression Direction</key>\n         <string>default</string>\n          <key>Path</key>\n           <string>"
lst = "</string>\n          <key>s</key>\n          <string>0</string>\n        </dict>\n"
bodystr = ""

for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
    sttmp = os.path.join(root, name)[2:]
        if not ".pdf" in sttmp:
        continue
    bodystr+=fst
    bodystr+=sttmp[:-4]
    bodystr+=tnd
    bodystr+=sttmp
    bodystr+=lst

file = open("Managed.plist", "w")
file.write(header);
file.write(bodystr);
file.write(footer);
file.close();