Skip to content

Instantly share code, notes, and snippets.

@tamassengel
Created August 24, 2017 15:18
Show Gist options
  • Save tamassengel/fe9c3bf0febbbfad15ad7e020aa2f31c to your computer and use it in GitHub Desktop.
Save tamassengel/fe9c3bf0febbbfad15ad7e020aa2f31c to your computer and use it in GitHub Desktop.
pdf2droid - Photoshop Script that generates PNGs for Android development from PDFs. Ideal for iOS vectorized asset conversion.
#target Adobe Photoshop CC 2015.5
bringToFront()
var folder = Folder.selectDialog()
var files = folder.getFiles(/\.(pdf)$/i)
var densities = [54, 72, 108, 144, 216, 288]
var folderNames = ['ldpi', 'mdpi', 'hdpi', 'xhdpi', 'xxhdpi', 'xxxhdpi']
for (var i = 0; i < folderNames.length; i++) {
var newFolder = new Folder(folder + '/drawable-' + folderNames[i])
if (!newFolder.exists) {
newFolder.create()
}
}
for (var i = 0; i < files.length; i++) {
for (var j = 0; j < folderNames.length; j++) {
var opn = new PDFOpenOptions()
opn.resolution = densities[j]
opn.page = 1
img = open(File(files[i]), opn)
reg = /-\d+$/
var evaluation = eval("iN" + ((iN = img.name) !== decodeURI(files[i].name.slice(0, -4)) ? ".replace(reg, '')" : ''))
var file = File(files[i].parent + '/drawable-' + folderNames[j] + '/' + evaluation + '.png')
img.saveAs(file, new PNGSaveOptions())
img.close(SaveOptions.DONOTSAVECHANGES)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment