diff --git a/.~lock.example.xlsx# b/.~lock.example.xlsx# deleted file mode 100644 index 979e80e..0000000 --- a/.~lock.example.xlsx# +++ /dev/null @@ -1 +0,0 @@ -,andrea,elena-thinkpad,01.09.2024 14:58,file:///home/andrea/.config/libreoffice/4; \ No newline at end of file diff --git a/README.md b/README.md index 7966918..65b3ce5 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # inkscape_uprint +![logo](logo.png "logo") + Inkscape plugin to create multiple clones of the same object with pattern substitution ## Install @@ -15,7 +17,7 @@ or equivalently get it using git clone: reload inkscape -find the extension in **Extensions -> Renderg -> InkscapeUprint** +find the extension in **Extensions -> Renderig -> InkscapeUprint** ## INSTRUCTIONS: diff --git a/example.svg b/example.svg index 16c5042..4c7dd8b 100644 --- a/example.svg +++ b/example.svg @@ -7,8 +7,8 @@ viewBox="0 0 210 297" version="1.1" id="svg1" - sodipodi:docname="example.svg" inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" + sodipodi:docname="example.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" @@ -23,29 +23,42 @@ inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" - inkscape:zoom="0.45968013" - inkscape:cx="1070.3095" - inkscape:cy="417.68174" - inkscape:window-width="1366" - inkscape:window-height="709" + inkscape:zoom="0.73762626" + inkscape:cx="612.0986" + inkscape:cy="446.02533" + inkscape:window-width="1920" + inkscape:window-height="1021" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" - inkscape:current-layer="layer1" /> + inkscape:current-layer="layer1"> + + + + - + x="381.91656" + y="92.793617" + width="378.68661" + height="413.95236" + id="rect1178" /> + - InkscapeUprint + x="58.835838" + y="29.776552">InkscapeUprint + id="g4" + transform="translate(-13.852187,-32.315918)"> + x="108.77037" + y="81.03743" /> The size of the output pages is copied from the model one - + id="g1"> + x="17.244392" + y="48.721512" /> {{nome}}{{cognome}} {{ruolo}} + transform="matrix(1.13358 0 0 1.13358 -89.2567 -6.27302)" /> {{affiliazione}} + id="g2"> + height="109.49339" + x="17.244392" + y="96.823288" /> {{nome}}{{cognome}} {{ruolo}} - - + + + + {{affiliazione}} + + + + HarrisonWells + STAFF + + + Central City University +Head of sustainability of disasters dept. + + + + + BarryAllen + FLASH + + + S.T.A.T. Labs research center +Professional speedster + + + + + IrisWest + PRESS + + + self employed +Journalist and story teller without talent + + + + + KillerFrost + MD + + + Medical Doctor +Carnaval General Hospital + + + + + ThomasCavanagh + ACTOR + + + + + + + + HarrisonWells + STAFF + + + + + Central City University +Head of sustainability of disasters dept. + + + + + BarryAllen + FLASH + + + + + S.T.A.T. Labs research center +Professional speedster + + + + + IrisWest + PRESS + + + + + self employed +Journalist and story teller without talent + + + + + KillerFrost + MD + + + + + Medical Doctor +Carnaval General Hospital + + + + + ThomasCavanagh + ACTOR + + + + + + diff --git a/example.xlsx b/example.xlsx index 5fa1ff9..06cc05b 100644 Binary files a/example.xlsx and b/example.xlsx differ diff --git a/inkscape_uprint.code-workspace b/inkscape_uprint.code-workspace new file mode 100644 index 0000000..eba5d12 --- /dev/null +++ b/inkscape_uprint.code-workspace @@ -0,0 +1,11 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "../../../../../usr/share/inkscape/extensions/inkex" + } + ], + "settings": {} +} \ No newline at end of file diff --git a/inkscape_uprint.py b/inkscape_uprint.py index 5e8eff4..2cb699c 100755 --- a/inkscape_uprint.py +++ b/inkscape_uprint.py @@ -297,13 +297,12 @@ class InkscapeUprint(inkex.Effect): headings = [cell.value for cell in ws[1]] substs = [] for row in ws.iter_rows(min_row=2, values_only=True): - substs.append(dict(zip(headings, row))) + if all([cell is None or cell.strip() == '' for cell in row]): continue + substs.append(dict(zip(headings, [cell if cell is not None else '' for cell in row]))) new_objects = [] - for i, subst in enumerate(substs): dup = self.duplicate_object(parent, selected) - # self.translate_object(dup, (i+1) * (self.x_offset + self.bbox.width), self.y_offset) self.replace_text(dup, subst) new_objects.append(dup) diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..29c60bf Binary files /dev/null and b/logo.png differ diff --git a/logo.svg b/logo.svg new file mode 100644 index 0000000..f29ee4f --- /dev/null +++ b/logo.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +