snipplrCallback({"id":72974,"title":"export-jpeg-files-with-each-layerset-photoshop-python-with-pyqt","source":"
  1. import<\/span> sys<\/span><\/div><\/li>
  2. from<\/span> PyQt4.QtGui<\/span> import<\/span> *<\/div><\/li>
  3. import<\/span> comtypes.client<\/span><\/div><\/li>
  4.  <\/div><\/li>
  5. class<\/span> LayerSetsExporter(<\/span>QWidget)<\/span>:<\/div><\/li>
  6.  <\/div><\/li>
  7. def<\/span> __init__<\/span>(<\/span>self<\/span>,<\/span> parent =<\/span> None<\/span>)<\/span>:<\/div><\/li>
  8. super<\/span>(<\/span>LayerSetsExporter,<\/span> self<\/span>)<\/span>.__init__<\/span>(<\/span>parent)<\/span><\/div><\/li>
  9. self<\/span>.createLayout<\/span>(<\/span>)<\/span><\/div><\/li>
  10. self<\/span>.createConnection<\/span>(<\/span>)<\/span><\/div><\/li>
  11.  <\/div><\/li>
  12. def<\/span> setLayerSetsVisible(<\/span>self<\/span>,<\/span> layerSets,<\/span> state)<\/span>:<\/div><\/li>
  13. for<\/span> layerSet in<\/span> layerSets:<\/div><\/li>
  14. layerSet.visible<\/span> =<\/span> False<\/span><\/div><\/li>
  15.  <\/div><\/li>
  16. def<\/span> processRun(<\/span>self<\/span>)<\/span>:<\/div><\/li>
  17. outputPath =<\/span> 'D:\/Python\/Temp\/'<\/span><\/div><\/li>
  18.  <\/div><\/li>
  19. app =<\/span> comtypes.client<\/span>.CreateObject<\/span>(<\/span>'Photoshop.Application'<\/span>)<\/span><\/div><\/li>
  20. doc =<\/span> app.activeDocument<\/span><\/div><\/li>
  21.  <\/div><\/li>
  22. optionJpg =<\/span> comtypes.client<\/span>.CreateObject<\/span>(<\/span>'Photoshop.JPEGSaveOptions'<\/span>)<\/span><\/div><\/li>
  23. optionJpg.quality<\/span> =<\/span> 8<\/span><\/div><\/li>
  24.  <\/div><\/li>
  25. count =<\/span> 0<\/span><\/div><\/li>
  26. layerSets =<\/span> doc.layerSets<\/span><\/div><\/li>
  27. for<\/span> layerSet in<\/span> layerSets:<\/div><\/li>
  28. self<\/span>.setLayerSetsVisible<\/span>(<\/span>layerSets,<\/span> False<\/span>)<\/span><\/div><\/li>
  29. layerSet.visible<\/span> =<\/span> True<\/span><\/div><\/li>
  30. doc.saveAs<\/span>(<\/span>outputPath + str<\/span>(<\/span>count)<\/span> + '.jpg'<\/span>,<\/span> optionJpg,<\/span> True<\/span>)<\/span><\/div><\/li>
  31. count +=<\/span> 1<\/span><\/div><\/li>
  32.  <\/div><\/li>
  33. def<\/span> createLayout(<\/span>self<\/span>)<\/span>:<\/div><\/li>
  34. self<\/span>.btnRun<\/span> =<\/span> QPushButton(<\/span>'&Run'<\/span>)<\/span><\/div><\/li>
  35. layout =<\/span> QVBoxLayout(<\/span>)<\/span><\/div><\/li>
  36. layout.addWidget<\/span>(<\/span>self<\/span>.btnRun<\/span>)<\/span><\/div><\/li>
  37.  <\/div><\/li>
  38. self<\/span>.resize<\/span>(<\/span>200<\/span>,<\/span>100<\/span>)<\/span><\/div><\/li>
  39. self<\/span>.setWindowTitle<\/span>(<\/span>'PS LayerSets Exporter'<\/span>)<\/span><\/div><\/li>
  40. self<\/span>.setLayout<\/span>(<\/span>layout)<\/span><\/div><\/li>
  41.  <\/div><\/li>
  42. def<\/span> createConnection(<\/span>self<\/span>)<\/span>:<\/div><\/li>
  43. self<\/span>.btnRun<\/span>.clicked<\/span>.connect<\/span>(<\/span>self<\/span>.processRun<\/span>)<\/span><\/div><\/li>
  44.  <\/div><\/li>
  45. qApp =<\/span> QApplication(<\/span>sys<\/span>.argv<\/span>)<\/span><\/div><\/li>
  46.  <\/div><\/li>
  47. exporter =<\/span> LayerSetsExporter(<\/span>)<\/span><\/div><\/li>
  48. exporter.show<\/span>(<\/span>)<\/span><\/div><\/li>
  49.  <\/div><\/li>
  50. qApp.exec_<\/span>(<\/span>)<\/span><\/div><\/li><\/ol><\/pre>","link":"https:\/\/snipplr.com\/view\/72974\/export-jpeg-files-with-each-layerset-photoshop-python-with-pyqt"});