diff --git a/pylibdmtx/pylibdmtx.py b/pylibdmtx/pylibdmtx.py index 3b02e4a..9f23016 100644 --- a/pylibdmtx/pylibdmtx.py +++ b/pylibdmtx/pylibdmtx.py @@ -313,7 +313,7 @@ def _encoder(): dmtxEncodeDestroy(byref(encoder)) -def encode(data, scheme=None, size=None): +def encode(data, scheme=None, size=None, **kwargs): """ Encodes `data` in a DataMatrix image. @@ -360,6 +360,15 @@ def encode(data, scheme=None, size=None): dmtxEncodeSetProp(encoder, DmtxProperty.DmtxPropScheme, scheme) dmtxEncodeSetProp(encoder, DmtxProperty.DmtxPropSizeRequest, size) + for prop_name,prop_value in kwargs.items(): + try: + prop=getattr(DmtxProperty,prop_name) + except AttributeError: + continue + + dmtxEncodeSetProp(encoder,prop,prop_value) + + if dmtxEncodeDataMatrix(encoder, len(data), cast(data, c_ubyte_p)) == 0: raise PyLibDMTXError( 'Could not encode data, possibly because the image is not '