Added support to print multiple labels at once
This commit is contained in:
		
							parent
							
								
									ee1d8d953a
								
							
						
					
					
						commit
						fcbe180d27
					
				
					 1 changed files with 19 additions and 9 deletions
				
			
		
							
								
								
									
										28
									
								
								pdf2tspl.py
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								pdf2tspl.py
									
										
									
									
									
								
							|  | @ -59,6 +59,7 @@ def pdf2tspl(filename, labelwidth_mm=100, labelheight_mm=150, dpi=203.2): | |||
|     return tspl | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     from PyPDF2 import PdfFileWriter, PdfFileReader | ||||
|     import argparse | ||||
|     import sys | ||||
|     parser = argparse.ArgumentParser(description='Convert a PDF to TSPL to send to a label printer.') | ||||
|  | @ -70,13 +71,22 @@ if __name__ == "__main__": | |||
|     parser.add_argument('-d', '--dpi', type=float, default=203.2, help='Resolution of the printer. Defaults to 8 dots per mm (203.2 dpi)') | ||||
|     args = parser.parse_args() | ||||
| 
 | ||||
|     tspl = pdf2tspl(args.pdf_file, | ||||
|                     labelwidth_mm=args.width, | ||||
|                     labelheight_mm=args.height, | ||||
|                     dpi=args.dpi) | ||||
|     inputpdf = PdfFileReader(open(args.pdf_file, "rb")) | ||||
| 
 | ||||
|     if args.tspl_file == '-': | ||||
|         sys.stdout.buffer.write(tspl) | ||||
|     else: | ||||
|         with open(args.tspl_file, 'wb') as fp: | ||||
|             fp.write(tspl) | ||||
|     for i in range(inputpdf.numPages): | ||||
|         output = PdfFileWriter() | ||||
|         output.addPage(inputpdf.getPage(i)) | ||||
|         temp_pdf_name = "temp/document-page%s.pdf" % i | ||||
|         with open(temp_pdf_name, "wb") as outputStream: | ||||
|             output.write(outputStream) | ||||
| 
 | ||||
|         tspl = pdf2tspl(temp_pdf_name, | ||||
|         labelwidth_mm=args.width, | ||||
|         labelheight_mm=args.height, | ||||
|         dpi=args.dpi) | ||||
| 
 | ||||
|         if args.tspl_file == '-': | ||||
|             sys.stdout.buffer.write(tspl) | ||||
|         else: | ||||
|             with open(args.tspl_file, 'wb') as fp: | ||||
|                 fp.write(tspl) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue