
This is a Python 3 plugin for Krita that can import a Procreate project into Krita as a new document.
Note
This is pretty identical to the Manual provided with the plugin shown within Krita.
- Check out this workflow's latest run to download its artifact
- Topmost run name
- Scroll to
Artifacts
- Download the zip file listed
- Should be named
import-from-procreate
followed by a hash
- Should be named
- Extract its contents, should contain:
-
import_from_procreate/ import_from_procreate.desktop
- Move/copy the inner folder and
.desktop
file into Krita's install underpykrita
- Restart Krita if open
- Clone with submodules (
git clone --recurse-submodules https://github.com/xubiod/import_from_procreate.git
) - Move to under
pykrita
on a Krita install:
-
Krita install/ pykrita/ import_from_procreate/ [repo files]
- Move
import_from_procreate.desktop
outside of the folder:
- Restart Krita if open
The plugin should be in the list, with the name Procreate Project Importer:
This plugin can import Procreate documents into Krita with complete layers with:
- Layer image data
- Layer opacity
- Clipping mask/alpha inheritance, alpha lock, visiblity and locks applied properly
- Correct1 blend modes
- Groups with their proper children
- Colour profiles taken into consideration
1 - Blend modes were estimated from Krita's list, with preference towards Photoshop blend modes. These might not be completely accurate to Procreate as a result.
The plugin adds two items to Tools > Scripts:
- Import *.procreate File as New Document... - Imports a Procreate document into Krita as a new document, using an Open File window.
- Procreate Importer Settings... - Settings for the plugin itself.
Settings are heavily documented with tooltips, and are mostly relegated to how to automatically handle popups the plugin shows for certain elements of the import process.
There are some caveats with the current state of the importer that should be mentioned:
-
Older Procreate documents that use LZO compression:
- Have decompression problems
- Take slightly longer to decompress
-
Clipping masks/layers with inherit alpha enabled are accurate with layer structure but NOT accurate visually
- You can group a paint layer with its' clipping masks above it together to get accurate visuals
- This issue only exists because of how Krita implements this behaviour
- Xubiod - plugin and import logic
- Jan Kneschke - inital pure Python LZ4 decompression logic
- Toke Høiland-Jørgensen - pure Python LZO decompression logic
- Andrew Wooster, Kevin Kelley - The
biplist
pip package for reading binary Apple plist files