[Android] How do I get the same file names in CC no matter which connection I use?

There are three solutions to ensuring that file names for a book are the same on multiple devices regardless of the delivery path. You might want to use one of these solutions if you are using a reading app that is capable of syncing reading positions across devices, such as Moon+.

CC settings mentioned below are found in CC / Settings / File names.

If none of the CC file name settings are chosen, CC's wireless device connection will use the file name provided by calibre, and CC's Cloud and Content Server connections will use the default CC template.

If you use more than one CC connection type (Cloud, Content Server, Wireless Device) or if you have your CC library on an SD card then our recommended solution is to check the box "Use CC template everywhere" in CC / Settings / File names. This tells CC to ignore any file name provided by calibre, instead computing the file name itself using a CC file save template. The default CC template is

{title} - {authors}

If you don't want to use the default template then after you check the box you should in CC:

go to book details for some book

select "Edit file name template" on the book details menu. A dialog will open showing you the current template and what file name it generates for the book you see in book details.

Note: we also recommend that you check the CC setting "Replace existing book files" in CC's settings. The reason: when you send a book to CC, CC evaluates the template and adds the book using the resulting file name. If the "Replace" box is not checked and if the book is already on the device with a different file name then two copies of the book will be in CC. For example, if the box is not checked and if

the CC template uses the book series

you change the series in calibre

you resend the book

then you will have two copies of the book in CC, one with the old series name and one with the new series name.

Solution 2: Use calibre's unique book ID as the file name.

Check CC's setting "Use book ID as filename" (Settings / File names). This tells CC to use the book's unique ID as the file name no matter how the book gets to the device. Although this works well for syncing (which is why the option was added), it has the problem that the book file names become meaningless; a series of numbers. Don't use this solution if you ever look at the file names of books on the device.

Solution 3

If you use the content server but do not use CC Cloud, check "Use calibre's file name" in CC's settings. This tells CC to ask the content server for the file name the wireless device would use.

This solution works if you are running the content server in calibre's GUI. If you are running it from the command line then the content server will not be able to get the file name from the wireless device, in which case you must use the first or second option.