Formats and displays label layouts as dynamic SVG on screen

This commit is contained in:
Aaron Louie 2020-11-15 20:39:49 -05:00
parent 6e8e2bf54e
commit 9ad2b66ac3
34 changed files with 469 additions and 1810 deletions

View File

@ -18,7 +18,7 @@ import {QRCodeSVGModule} from 'ngx-qrcode-svg';
import {ThisEnvironment} from '../environments/environment.injectable';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {BarcodeDataMatrixComponent} from './barcode-data-matrix/barcode-data-matrix.component';
import {BarcodeSvgComponent} from './barcode-svg/barcode-svg.component';
import {CountComponent} from './count/count.component';
import {FooterComponent} from './footer/footer.component';
import {HomeComponent} from './home/home.component';
@ -36,6 +36,7 @@ import {ApiService} from './services/api.service';
import {CacheService} from './services/cache.service';
import {SettingsService} from './services/settings.service';
import {SettingsComponent} from './settings/settings.component';
import { BarcodeSvgDirective } from './barcode-svg/barcode-svg.directive';
/**
* This function is used internal to get a string instance of the `<base href="" />` value from `index.html`.
@ -65,11 +66,12 @@ export function getBaseHref(platformLocation: PlatformLocation): string {
PrintLayoutComponent,
SampleComponent,
SettingsComponent,
BarcodeDataMatrixComponent,
BarcodeSvgComponent,
CircleQRcodeSingleComponent,
CircleQRcodeDoubleComponent,
RectangleDatamatrixComponent,
RectangleCode128Component,
BarcodeSvgDirective,
],
imports: [
BrowserAnimationsModule,

View File

@ -1,33 +0,0 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import {defaultOptions, labelLayouts} from '../config/defaults';
import {AppDefaults} from '../models/appDefaults.interface';
import {LabelLayout} from '../models/labelLayout.interface';
import { BarcodeDataMatrixComponent } from './barcode-data-matrix.component';
describe('BarcodeDataMatrixComponent', () => {
let component: BarcodeDataMatrixComponent;
let fixture: ComponentFixture<BarcodeDataMatrixComponent>;
const settings = new AppDefaults(defaultOptions);
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ BarcodeDataMatrixComponent ]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(BarcodeDataMatrixComponent);
component = fixture.componentInstance;
settings.labelLayout = labelLayouts.rectangular_54x32;
component.settings = settings;
component.format = settings.labelLayout.barcodeType;
component.value = '987654321-202101231122-ABCDE-0123';
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,50 +0,0 @@
import {AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild} from '@angular/core';
import bwipjs from 'bwip-js';
import {AppDefaults} from '../models/appDefaults.interface';
import DrawingSVG from './draw-svg.js';
@Component({
selector: 'app-barcode-data-matrix',
templateUrl: './barcode-data-matrix.component.svg',
styleUrls: ['./barcode-data-matrix.component.scss']
})
export class BarcodeDataMatrixComponent implements OnInit {
@Input() format: string;
@Input() value: string;
@Input() settings: AppDefaults;
@Input() x: number;
@Input() y: number;
@Input() width: number;
@Input() height: number;
@ViewChild('barcodeContainer') barcodeContainer: ElementRef;
constructor() {
}
ngOnInit() {
this.renderBarcode();
}
renderBarcode(): void {
if (!!(bwipjs && bwipjs.toCanvas && this.settings && this.format)) {
const opts: { [key: string]: any } = {
bcid: this.format,
text: this.value,
scale: 1,
width: this.settings.labelLayout.barcodeWidth,
height: this.settings.labelLayout.barcodeHeight,
// includetext: false,
// textalign: 'center',
// version: '12x64',
// padding: this.settings.labelLayout.marginSize,
};
if (this.format === 'qrcode') {
opts.eclevel = 'H';
}
const barcodeSVG = bwipjs.render(opts, DrawingSVG(opts), bwipjs.FontLib);
this.barcodeContainer.nativeElement.innerHTML = barcodeSVG;
// bwipjs.toCanvas('barcodeCanvas', );
}
}
}

View File

@ -0,0 +1,30 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {BarcodeSvgComponent} from './barcode-svg.component';
describe('BarcodeDataMatrixComponent', () => {
let component: BarcodeSvgComponent;
let fixture: ComponentFixture<BarcodeSvgComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [BarcodeSvgComponent]
})
.compileComponents();
});
beforeEach(() => {
fixture = TestBed.createComponent(BarcodeSvgComponent);
component = fixture.componentInstance;
component.format = 'qrcode';
component.value = '987654321-202101231122-ABCDE-0123';
component.x = 0;
component.y = 0;
component.width = 1000;
component.height = 1000;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

Before

Width:  |  Height:  |  Size: 30 B

After

Width:  |  Height:  |  Size: 30 B

View File

@ -0,0 +1,50 @@
import {AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, OnInit, ViewChild} from '@angular/core';
import bwipjs from 'bwip-js';
import {AppDefaults} from '../models/appDefaults.interface';
import DrawingSVG from './draw-svg.js';
@Component({
selector: 'app-barcode-svg',
templateUrl: './barcode-svg.component.svg',
styleUrls: ['./barcode-svg.component.scss']
})
export class BarcodeSvgComponent implements AfterViewInit {
@Input() format: string;
@Input() value: string;
@Input() x: number;
@Input() y: number;
@Input() width: number;
@Input() height: number;
@ViewChild('barcodeContainer') barcodeContainer: ElementRef;
constructor(private changeDetector: ChangeDetectorRef) {
}
ngAfterViewInit() {
if (this.value && this.barcodeContainer) {
this.renderBarcode();
this.changeDetector.detectChanges();
}
}
renderBarcode(): void {
if (!!(bwipjs && bwipjs.render && this.format)) {
const opts: { [key: string]: any } = {
bcid: this.format,
text: this.value,
scale: 1,
width: this.width,
height: this.height,
// includetext: false,
// textalign: 'center',
// version: '12x64',
// padding: this.settings.labelLayout.marginSize,
};
if (this.format === 'qrcode') {
opts.eclevel = 'H';
}
this.barcodeContainer.nativeElement.innerHTML = bwipjs.render(opts, DrawingSVG(opts, bwipjs.FontLib));
}
}
}

View File

@ -0,0 +1,8 @@
import { BarcodeSvgDirective } from './barcode-svg.directive';
describe('BarcodeSvgDirective', () => {
it('should create an instance', () => {
const directive = new BarcodeSvgDirective();
expect(directive).toBeTruthy();
});
});

View File

@ -0,0 +1,43 @@
import bwipjs from 'bwip-js';
import DrawingSVG from './draw-svg.js';
import {Directive, ElementRef, Input, OnInit} from '@angular/core';
@Directive({
selector: '[appBarcodeSvg]'
})
export class BarcodeSvgDirective implements OnInit {
@Input() format: string;
@Input() value: string;
@Input() x: number;
@Input() y: number;
@Input() width: number;
@Input() height: number;
constructor(private barcodeContainer: ElementRef) {
}
ngOnInit() {
console.log('this.format', this.format);
console.log('this.barcodeContainer', this.barcodeContainer);
console.log('bwipjs', bwipjs);
if (!!(bwipjs && bwipjs.render && this.format)) {
const opts: { [key: string]: any } = {
bcid: this.format,
text: this.value,
scale: 1,
width: this.width,
height: this.height,
// includetext: false,
// textalign: 'center',
// version: '12x64',
// padding: this.settings.labelLayout.marginSize,
};
if (this.format === 'qrcode') {
opts.eclevel = 'H';
}
this.barcodeContainer.nativeElement.innerHTML = bwipjs.render(opts, DrawingSVG(opts, bwipjs.FontLib));
}
}
}

View File

@ -77,10 +77,10 @@ function DrawingSVG(opts, FontLib) {
init(width, height) {
// Add in the effects of padding. These are always set before the
// drawing constructor is called.
var padl = opts.paddingleft;
var padr = opts.paddingright;
var padt = opts.paddingtop;
var padb = opts.paddingbottom;
var padl = opts.paddingleft || 0;
var padr = opts.paddingright || 0;
var padt = opts.paddingtop || 0;
var padb = opts.paddingbottom || 0;
var rot = opts.rotate || 'N';
width += padl + padr;
@ -120,11 +120,11 @@ function DrawingSVG(opts, FontLib) {
// Try to keep the lines "crisp" by using with the SVG line drawing spec to
// our advantage.
if (lw & 1) {
if (x0 == x1) {
if (x0 === x1) {
x0 += 0.5;
x1 += 0.5;
}
if (y0 == y1) {
if (y0 === y1) {
y0 += 0.5;
y1 += 0.5;
}
@ -261,8 +261,8 @@ function DrawingSVG(opts, FontLib) {
y += gs_dy;
var tx = tx0 * x + tx1 * y + tx2 * (gs_width-1) + tx3 * (gs_height-1);
var ty = ty0 * x + ty1 * y + ty2 * (gs_width-1) + ty3 * (gs_height-1);
return '' + ((tx|0) == tx ? tx : tx.toFixed(2)) + ' ' +
((ty|0) == ty ? ty : ty.toFixed(2));
return '' + ((tx|0) === tx ? tx : tx.toFixed(2)) + ' ' +
((ty|0) === ty ? ty : ty.toFixed(2));
}
}

View File

@ -1,16 +0,0 @@
text, tspan {
font-style: normal;
font-variant: normal;
font-weight: bold;
font-stretch: normal;
font-size: 6pt;
line-height: 1.25;
font-family: monospace;
text-align: center;
font-variant-ligatures: normal;
font-variant-caps: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
}

View File

@ -1,151 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
class="label-layout-format"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="64mm"
height="32mm"
viewBox="0 0 64 32"
version="1.1"
id="svg936">
<defs
id="defs930"/>
<g
id="layer1"
transform="translate(0,-265)">
<g
id="g1867">
<g
id="g2015">
<circle
id="path12-3"
cx="16"
cy="281"
style="fill:#ffffff;fill-opacity:1;stroke:#cccccc;stroke-width:0.25003096;stroke-opacity:1"
r="14.174985"/>
<!-- <app-barcode-data-matrix-->
<!-- format="qrcode"-->
<!-- [value]="value"-->
<!-- [settings]="settings"-->
<!-- width="20"-->
<!-- height="20"-->
<!-- x="6"-->
<!-- y="271"></app-barcode-data-matrix>-->
<text
id="text827"
y="292.70752"
x="16.070801"
xml:space="preserve"><tspan
y="292.70752"
x="16.070801"
id="tspan825">#987654321</tspan></text>
<text
id="text827-6"
y="270.83347"
x="16.011368"
xml:space="preserve"><tspan
y="270.83347"
x="16.011368"
id="tspan825-3">200912ABC</tspan></text>
<text
id="text827-61"
y="279.11072"
x="4.2645407"
xml:space="preserve"><tspan
id="tspan919"
y="279.11072"
x="4.2645407">T</tspan>
<tspan
y="281.75656"
x="4.2645407"
id="tspan1679">12</tspan>
<tspan
id="tspan925"
y="284.40237"
x="4.2645407">34</tspan></text>
<text
id="text827-61-5"
y="279.11072"
x="27.582506"
xml:space="preserve"><tspan
id="tspan921"
y="279.11072"
x="27.582506">L</tspan>
<tspan
id="tspan929"
y="281.75656"
x="27.582506">40</tspan>
<tspan
id="tspan1928"
y="284.40237"
x="27.582506">40</tspan></text>
>
<defs>
<g id="circle_qrcode_single">
<circle
cx="16"
cy="16"
fill="#FFFFFF"
stroke="#CCCCCC"
stroke-width="0.2"
r="14.3"/>
<g transform="translate(7, 6.8)">
<g
appBarcodeSvg
[format]="'qrcode'"
[value]="sample.barcode"
[width]="18"
[height]="18"
transform="scale(0.35)"
/>
</g>
<g transform="translate(4.2, 14)">
<text x="0" y="0">T</text>
<text x="0" y="2">{{sample.date | date: 'HH'}}</text>
<text x="0" y="4">{{sample.date | date: 'mm'}}</text>
</g>
<g transform="translate(27.4, 14)">
<text x="0" y="0">L</text>
<text x="0" y="2">{{sample.location.slice(0,2)}}</text>
<text x="0" y="4">{{sample.location.slice(2,4)}}</text>
</g>
</g>
<g
id="g2031">
<circle
r="14.174985"
style="fill:#ffffff;fill-opacity:1;stroke:#cccccc;stroke-width:0.25003096;stroke-opacity:1"
cy="281"
cx="47.999985"
id="path12-3-9"/>
<!-- <app-barcode-data-matrix-->
<!-- format="qrcode"-->
<!-- [value]="value"-->
<!-- [settings]="settings"-->
<!-- width="20"-->
<!-- height="20"-->
<!-- x="38"-->
<!-- y="271"></app-barcode-data-matrix>-->
<text
xml:space="preserve"
x="48.070786"
y="292.70752"
id="text827-4"><tspan
id="tspan825-8"
x="48.070786"
y="292.70752"
>#987654321</tspan></text>
<text
xml:space="preserve"
x="48.011353"
y="270.83347"
id="text827-6-1"><tspan
id="tspan825-3-0"
x="48.011353"
y="270.83347"
>200912ABC</tspan></text>
<text
xml:space="preserve"
x="36.264526"
y="279.11072"
id="text827-61-3"><tspan
x="36.264526"
y="279.11072"
id="tspan919-0">T</tspan>
<tspan
id="tspan1679-4"
x="36.264526"
y="281.75656"
>12</tspan>
<tspan
x="36.264526"
y="284.40237"
id="tspan925-4">34</tspan></text>
<text
xml:space="preserve"
x="59.582493"
y="279.11072"
id="text827-61-5-4"><tspan
x="59.582493"
y="279.11072"
id="tspan921-4">L</tspan>
<tspan
x="59.582493"
y="281.75656"
id="tspan929-7">40</tspan>
<tspan
x="59.582493"
y="284.40237"
id="tspan1928-6">40</tspan></text>
</g>
</defs>
<use xlink:href="#circle_qrcode_single" x="0" y="0"></use>
<use xlink:href="#circle_qrcode_single" x="32" y="0"></use>
<g>
<text x="25%" y="6">#{{sample.student_id}}</text>
<text x="25%" y="27.6">{{sample.date | date:'yyMMdd'}}{{sample.initials}}</text>
</g>
<g>
<text x="75%" y="6">#{{sample.student_id}}</text>
<text x="75%" y="27.6">{{sample.date | date:'yyMMdd'}}{{sample.initials}}</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,5 +1,6 @@
import {Component, Input, OnInit} from '@angular/core';
import {AppDefaults} from '../../../models/appDefaults.interface';
import {Sample} from '../../../models/sample.interface';
@Component({
selector: 'app-circle-qrcode-double',
@ -7,7 +8,7 @@ import {AppDefaults} from '../../../models/appDefaults.interface';
styleUrls: ['./circle-qrcode-double.component.scss']
})
export class CircleQRcodeDoubleComponent implements OnInit {
@Input() value: string;
@Input() sample: Sample;
@Input() settings: AppDefaults;
@Input() x: number;
@Input() y: number;

View File

@ -1,16 +0,0 @@
text, tspan {
font-style: normal;
font-variant: normal;
font-weight: bold;
font-stretch: normal;
font-size: 6pt;
line-height: 1.25;
font-family: monospace;
text-align: center;
font-variant-ligatures: normal;
font-variant-caps: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
}

View File

@ -1,83 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
class="label-layout-format"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="32mm"
height="32mm"
viewBox="0 0 32 32"
version="1.1"
id="svg936">
<defs
id="defs930"/>
<g
id="layer1"
transform="translate(0,-265)">
>
<circle
cx="16"
cy="16"
fill="#FFFFFF"
stroke="#CCCCCC"
stroke-width="0.2"
r="14.3"/>
<g transform="translate(7, 6.8)">
<g
id="g1867">
<g
id="g2015">
<circle
id="path12-3"
cx="16"
cy="281"
style="fill:#ffffff;fill-opacity:1;stroke:#cccccc;stroke-width:0.25003096;stroke-opacity:1"
r="14.174985"/>
<!-- <app-barcode-data-matrix-->
<!-- format="qrcode"-->
<!-- [value]="value"-->
<!-- [settings]="settings"-->
<!-- width="20"-->
<!-- height="20"-->
<!-- x="6"-->
<!-- y="271"></app-barcode-data-matrix>-->
<text
id="text827"
y="292.70752"
x="16.070801"
xml:space="preserve"><tspan
y="292.70752"
x="16.070801"
id="tspan825">#987654321</tspan></text>
<text
id="text827-6"
y="270.83347"
x="16.011368"
xml:space="preserve"><tspan
y="270.83347"
x="16.011368"
id="tspan825-3">200912ABC</tspan></text>
<text
id="text827-61"
y="279.11072"
x="4.2645407"
xml:space="preserve"><tspan
id="tspan919"
y="279.11072"
x="4.2645407">T</tspan>
<tspan
y="281.75656"
x="4.2645407"
id="tspan1679">12</tspan>
<tspan
id="tspan925"
y="284.40237"
x="4.2645407">34</tspan></text>
<text
id="text827-61-5"
y="279.11072"
x="27.582506"
xml:space="preserve"><tspan
id="tspan921"
y="279.11072"
x="27.582506">L</tspan>
<tspan
id="tspan929"
y="281.75656"
x="27.582506">40</tspan>
<tspan
id="tspan1928"
y="284.40237"
x="27.582506">40</tspan></text>
</g>
</g>
appBarcodeSvg
[format]="'qrcode'"
[value]="sample.barcode"
[width]="18"
[height]="18"
transform="scale(0.35)"
/>
</g>
<text x="50%" y="6">#{{sample.student_id}}</text>
<text x="50%" y="27.6">{{sample.date | date:'yyMMdd'}}{{sample.initials}}</text>
<g transform="translate(4.2, 14)">
<text x="0" y="0">T</text>
<text x="0" y="2">{{sample.date | date: 'HH'}}</text>
<text x="0" y="4">{{sample.date | date: 'mm'}}</text>
</g>
<g transform="translate(27.4, 14)">
<text x="0" y="0">L</text>
<text x="0" y="2">{{sample.location.slice(0,2)}}</text>
<text x="0" y="4">{{sample.location.slice(2,4)}}</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1,5 +1,6 @@
import {Component, Input, OnInit} from '@angular/core';
import {ChangeDetectorRef, Component, Input, OnInit} from '@angular/core';
import {AppDefaults} from '../../../models/appDefaults.interface';
import {Sample} from '../../../models/sample.interface';
@Component({
selector: 'app-circle-qrcode-single',
@ -7,16 +8,22 @@ import {AppDefaults} from '../../../models/appDefaults.interface';
styleUrls: ['./circle-qrcode-single.component.scss']
})
export class CircleQRcodeSingleComponent implements OnInit {
@Input() value: string;
@Input() sample: Sample;
@Input() settings: AppDefaults;
@Input() x: number;
@Input() y: number;
@Input() width: number;
@Input() height: number;
constructor() { }
constructor(private changeDetector: ChangeDetectorRef) {
console.log('CircleQRcodeSingleComponent constructor this.sample', this.sample);
}
ngOnInit(): void {
console.log('CircleQRcodeSingleComponent ngOnInit this.sample', this.sample);
if (this.sample) {
this.changeDetector.detectChanges();
}
}
}

View File

@ -1,16 +0,0 @@
text, tspan {
font-style: normal;
font-variant: normal;
font-weight: bold;
font-stretch: normal;
font-size: 6pt;
line-height: 1.25;
font-family: monospace;
text-align: center;
font-variant-ligatures: normal;
font-variant-caps: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
}

View File

@ -1,108 +1,121 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
class="label-layout-format"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="54mm"
height="34mm"
viewBox="0 0 54.000002 34.000001"
version="1.1"
id="svg8">
<defs
id="defs2"/>
<g
id="layer1"
transform="translate(0,-262.99998)">
<text
xml:space="preserve"
x="26.96641"
y="287.95969"
id="text830"><tspan
id="tspan828"
x="26.966412"
y="287.95969">123456789-ABCDE-202011101110-1010</tspan></text>
<g
transform="matrix(0.07422947,0,0,-0.07422947,3.9888643,285.41873)"
id="g860">
<g
transform="scale(0.1)"
id="g862">
<!-- <app-barcode-data-matrix-->
<!-- format="code128"-->
<!-- [value]="value"-->
<!-- [settings]="settings"-->
<!-- width="6150"-->
<!-- height="1000"-->
<!-- x="0"-->
<!-- y="0"></app-barcode-data-matrix>-->
<rect
id="barcode"
x="0"
y="0"
width="6150"
height="1000"
fill="black"
/>
viewBox="0 0 54 34"
>
<defs>
<g id="up_arrow">
<g transform="translate(2.5, 2)">
<g transform="translate(-2.5, -2) scale(0.1)">
<path d="M 0,0 H 24 V 24 H 0 Z" style="fill:none"/>
<path d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z" />
</g>
<text x="1" y="0">UP</text>
</g>
</g>
<g
transform="translate(0,-2e-5)"
id="g872">
<rect
ry="1.5875"
rx="1.5875"
y="264.125"
x="1.6000004"
height="31.75"
width="50.799999"
id="rect5000"
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.17638889;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
</defs>
<rect
fill="transparent"
width="54"
height="34"
x="0"
y="0"
/>
<g transform="translate(1.5, 1)">
<rect
fill="#FFFFFF"
stroke="#CCCCCC"
stroke-width="0.2"
width="51"
height="32"
x="0"
y="0"
rx="2"
/>
<use xlink:href="#up_arrow" x="1" y="1" />
<g transform="translate(2, 11)">
<g
id="g1163"
transform="translate(-2.087723,-1.7764499)">
<text
xml:space="preserve"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3"><tspan
x="6.6571178"
y="268.65799"
id="tspan4951-6-0-1">UP</tspan></text>
<g
id="g5088-1"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0"
d="M 0,0 H 24 V 24 H 0 Z"
style="fill:none"/>
<path
id="path5076-3"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
/>
</g>
</g>
<g
id="g1163-9"
transform="translate(-2.087723,25.97355)">
<text
xml:space="preserve"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3-0"><tspan
x="6.6571178"
y="268.65799"
id="tspan4951-6-0-1-8">UP</tspan></text>
<g
id="g5088-1-8"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0-5"
d="M 0,0 H 24 V 24 H 0 Z"
style="fill:none"/>
<path
id="path5076-3-0"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
/>
</g>
</g>
appBarcodeSvg
[format]="'code128'"
[height]="10"
[value]="sample.barcode"
[width]="48"
transform="scale(0.345)"/>
</g>
<use xlink:href="#up_arrow" x="1" y="28.5" />
</g>
<text x="50%" y="75%">{{sample.barcode}}</text>
</svg>
<!-- <g-->
<!-- id="g872"-->
<!-- transform="translate(0, 0)">-->
<!-- <text-->
<!-- id="text830"-->
<!-- x="5"-->
<!-- xml:space="preserve"-->
<!-- y="200"-->
<!-- >{{sample.barcode}}</text>-->
<!-- <rect-->
<!-- height="31.75"-->
<!-- id="rect5000"-->
<!-- rx="1.5875"-->
<!-- ry="1.5875"-->
<!-- style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.17638889;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"-->
<!-- width="50.799999"-->
<!-- x="1.6000004"-->
<!-- y="264.125"/>-->
<!-- <g-->
<!-- id="g1163"-->
<!-- transform="translate(-2.087723,-1.7764499)">-->
<!-- <text-->
<!-- id="text4940-2-2-3"-->
<!-- x="6.6571178"-->
<!-- xml:space="preserve"-->
<!-- y="268.65799"><tspan-->
<!-- id="tspan4951-6-0-1"-->
<!-- x="6.6571178"-->
<!-- y="268.65799">UP</tspan></text>-->
<!-- <g-->
<!-- id="g5088-1"-->
<!-- transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">-->
<!-- <path-->
<!-- d="M 0,0 H 24 V 24 H 0 Z"-->
<!-- id="path5074-0"-->
<!-- style="fill:none"/>-->
<!-- <path-->
<!-- d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"-->
<!-- id="path5076-3"-->
<!-- />-->
<!-- </g>-->
<!-- </g>-->
<!-- <g-->
<!-- id="g1163-9"-->
<!-- transform="translate(-2.087723,25.97355)">-->
<!-- <text-->
<!-- id="text4940-2-2-3-0"-->
<!-- x="6.6571178"-->
<!-- xml:space="preserve"-->
<!-- y="268.65799"><tspan-->
<!-- id="tspan4951-6-0-1-8"-->
<!-- x="6.6571178"-->
<!-- y="268.65799">UP</tspan></text>-->
<!-- <g-->
<!-- id="g5088-1-8"-->
<!-- transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">-->
<!-- <path-->
<!-- d="M 0,0 H 24 V 24 H 0 Z"-->
<!-- id="path5074-0-5"-->
<!-- style="fill:none"/>-->
<!-- <path-->
<!-- d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"-->
<!-- id="path5076-3-0"-->
<!-- />-->
<!-- </g>-->
<!-- </g>-->
<!-- </g>-->
<!--</svg>-->

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1,5 +1,6 @@
import {Component, Input, OnInit} from '@angular/core';
import {AppDefaults} from '../../../models/appDefaults.interface';
import {Sample} from '../../../models/sample.interface';
@Component({
selector: 'app-rectangle-code128',
@ -7,7 +8,7 @@ import {AppDefaults} from '../../../models/appDefaults.interface';
styleUrls: ['./rectangle-code128.component.scss']
})
export class RectangleCode128Component implements OnInit {
@Input() value: string;
@Input() sample: Sample;
@Input() settings: AppDefaults;
@Input() x: number;
@Input() y: number;

View File

@ -1,16 +0,0 @@
text, tspan {
font-style: normal;
font-variant: normal;
font-weight: bold;
font-stretch: normal;
font-size: 6pt;
line-height: 1.25;
font-family: monospace;
text-align: center;
font-variant-ligatures: normal;
font-variant-caps: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
}

View File

@ -1,107 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
width="54mm"
height="34mm"
viewBox="0 0 54 34"
version="1.1"
id="svg5173">
<defs
id="defs5167" />
<g
id="layer1"
transform="translate(0,-263)">
<g
id="g872">
<rect
ry="1.5875"
rx="1.5875"
y="264.125"
x="1.6000004"
height="31.75"
width="50.799999"
id="rect5000"
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.17638889;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
id="g1163"
transform="translate(-2.087723,-1.7764499)">
<text
xml:space="preserve"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3"><tspan
x="6.6571178"
y="268.65799"
id="tspan4951-6-0-1">UP</tspan></text>
<g
id="g5088-1"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0"
d="M 0,0 H 24 V 24 H 0 Z"
style="fill:none" />
<path
id="path5076-3"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
/>
</g>
</g>
<g
id="g1163-9"
transform="translate(-2.087723,25.97355)">
<text
xml:space="preserve"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3-0"><tspan
x="6.6571178"
y="268.65799"
id="tspan4951-6-0-1-8">UP</tspan></text>
<g
id="g5088-1-8"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0-5"
d="M 0,0 H 24 V 24 H 0 Z"
style="fill:none" />
<path
id="path5076-3-0"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
/>
class="label-layout-format"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="54mm"
height="34mm"
viewBox="0 0 54 34"
>
<defs>
<g id="up_arrow">
<g transform="translate(2.5, 2)">
<g transform="translate(-2.5, -2) scale(0.1)">
<path d="M 0,0 H 24 V 24 H 0 Z" style="fill:none"/>
<path d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z" />
</g>
<text x="1" y="0">UP</text>
</g>
</g>
</defs>
<g transform="translate(1.5, 1)">
<rect
fill="#FFFFFF"
stroke="#CCCCCC"
stroke-width="0.2"
width="51"
height="32"
x="0"
y="0"
rx="2"
/>
<use xlink:href="#up_arrow" x="1" y="1" />
<g
transform="matrix(0.125,0,0,-0.125,4.387,285.125)"
id="g1445">
<g
transform="scale(0.1)"
id="g1447">
<!-- <app-barcode-data-matrix-->
<!-- format="datamatrix"-->
<!-- [value]="value"-->
<!-- [settings]="settings"-->
<!-- width="820"-->
<!-- height="820"-->
<!-- x="0"-->
<!-- y="0"></app-barcode-data-matrix>-->
</g>
appBarcodeSvg
format="datamatrix"
[value]="sample.barcode"
[width]="3.5"
[height]="3.5"
transform="translate(5, 10)"
/>
<g transform="translate(18, 14)">
<text x="0" y="0" style="text-anchor: start; text-align: left;">
#{{sample.student_id}}
</text>
<text x="0" y="3" style="text-anchor: start; text-align: left;">
{{sample.date | date:'yyyy-MM-dd HH:mm'}}
</text>
<text x="0" y="6" style="text-anchor: start; text-align: left;">
{{sample.initials}} {{sample.location}}
</text>
</g>
<text
xml:space="preserve"
x="17.653555"
y="278.20511"
id="text4940-2"><tspan
x="17.653555"
y="278.20511"
id="tspan4944-4">#987654321</tspan><tspan
x="17.653555"
y="281.02734"
id="tspan4953-0">2021-01-23 12:34</tspan><tspan
x="17.653555"
y="283.84955"
id="tspan4951-6">ABCDE 0404</tspan></text>
<use xlink:href="#up_arrow" x="1" y="28.5" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,5 +1,6 @@
import {Component, Input, OnInit} from '@angular/core';
import {AppDefaults} from '../../../models/appDefaults.interface';
import {Sample} from '../../../models/sample.interface';
@Component({
selector: 'app-rectangle-datamatrix',
@ -7,7 +8,7 @@ import {AppDefaults} from '../../../models/appDefaults.interface';
styleUrls: ['./rectangle-datamatrix.component.scss']
})
export class RectangleDatamatrixComponent implements OnInit {
@Input() value: string;
@Input() sample: Sample;
@Input() settings: AppDefaults;
@Input() x: number;
@Input() y: number;

View File

@ -1,42 +1,4 @@
<div
class="label-layout"
[ngStyle]="pageStyle"
>
<div
class="date"
[ngStyle]="{marginTop: settings.labelLayout.dimensions.topTextMargin}"
>{{dateCreated | date:'yyMMdd'}}{{initials.toUpperCase()}}</div>
<div
class="time"
[ngStyle]="{marginLeft: settings.labelLayout.dimensions.sideTextMargin}"
>
T<br />
{{dateCreated | date:'HH'}}<br />
{{dateCreated | date:'mm'}}
</div>
<qrcode-svg
*ngIf="settings.labelLayout.barcodeType === 'qrcode'"
[value]="qrCodeValue"
errorCorrectionLevel="H"
[ngStyle]="barcodeStyle"
></qrcode-svg>
<app-barcode-data-matrix
*ngIf="settings.labelLayout.barcodeType !== 'qrcode'"
[value]="qrCodeValue"
[format]="settings.labelLayout.barcodeType"
[ngStyle]="barcodeStyle"
[settings]="settings"
></app-barcode-data-matrix>
<div
class="location"
[ngStyle]="{marginRight: settings.labelLayout.dimensions.sideTextMargin}"
>
L<br />
{{settings.locationId.slice(0, 2)}}<br />
{{settings.locationId.slice(2, 4)}}
</div>
<div
class="barcode"
[ngStyle]="{marginBottom: settings.labelLayout.dimensions.bottomTextMargin}"
>#{{barCode}}</div>
</div>
<app-circle-qrcode-single *ngIf="settings.labelLayout.type === 'circle_1up_32mm_x_32mm_qrcode'" [sample]="sample"></app-circle-qrcode-single>
<app-circle-qrcode-double *ngIf="settings.labelLayout.type === 'circle_2up_64mm_x_32mm_qrcode'" [sample]="sample"></app-circle-qrcode-double>
<app-rectangle-code128 *ngIf="settings.labelLayout.type === 'rectangular_54mm_x_34mm_code128'" [sample]="sample"></app-rectangle-code128>
<app-rectangle-datamatrix *ngIf="settings.labelLayout.type === 'rectangular_54mm_x_34mm_datamatrix'" [sample]="sample"></app-rectangle-datamatrix>

View File

@ -1,55 +0,0 @@
.date,
.time,
.location,
.barcode {
position: absolute;
font-family: monospace;
font-weight: bolder;
text-align: center;
font-size: 6pt;
}
.label-layout {
position: relative;
width: 24.6mm;
height: 24.6mm;
border: 2mm solid transparent;
border-radius: 2mm;
background-color: white;
padding: 0;
margin: 0;
.date {
top: 0;
left: 0;
right: 0;
width: 100%;
}
.barcode {
bottom: 0;
left: 0;
right: 0;
width: 100%;
}
.time {
top: calc(50% - 3mm);
left: 0;
}
.location {
top: calc(50% - 3mm);
right: 0;
}
qrcode-svg, app-barcode-data-matrix {
position: absolute;
left: 50%;
top: 50%;
margin-left: -11mm;
margin-top: -11mm;
width: 22mm;
height: 22mm;
}
}

View File

@ -2,6 +2,7 @@ import {Component, Input, OnInit} from '@angular/core';
import {createQrCodeValue} from '../_util/qrCode';
import {AppDefaults} from '../models/appDefaults.interface';
import {CssStyle} from '../models/cssStyle.interface';
import {Sample} from '../models/sample.interface';
import {SettingsService} from '../services/settings.service';
@Component({
@ -9,42 +10,32 @@ import {SettingsService} from '../services/settings.service';
templateUrl: './label-layout.component.html',
styleUrls: ['./label-layout.component.scss']
})
export class LabelLayoutComponent implements OnInit {
export class LabelLayoutComponent {
@Input() dateCreated: Date;
@Input() barCode: string;
@Input() initials: string;
settings: AppDefaults;
pageStyle: CssStyle;
barcodeStyle: CssStyle;
sample: Sample;
barcodeValue: string;
constructor(private settingsService: SettingsService) {
this.settings = this.settingsService.getSettings();
const d = this.settings.labelLayout.dimensions;
this.pageStyle = {
width: d.columnWidth,
height: d.columnHeight,
padding: d.marginWidth,
this.sample = {
barcode: '',
student_id: '123456789',
initials: 'ABCDE',
date: new Date(),
location: this.settings.locationId,
};
this.barcodeStyle = {
width: d.barcodeWidth,
height: d.barcodeHeight,
marginTop: `-${this.settings.labelLayout.barcodeHeight / 2}mm`,
marginLeft: `-${this.settings.labelLayout.barcodeWidth / 2}mm`,
};
}
get qrCodeValue(): string {
return createQrCodeValue(
this.barCode,
this.initials,
this.dateCreated,
this.settings.locationId
this.barcodeValue = createQrCodeValue(
this.sample.student_id,
this.sample.initials,
this.sample.date,
this.sample.location
);
}
ngOnInit(): void {
this.sample.barcode = this.barcodeValue;
}
}

View File

@ -42,10 +42,12 @@ export class LabelLayout {
numCopies = 1;
constructor(private options: LayoutOptions) {
const keys = Object.keys(options);
keys.forEach(k => {
this[k] = options[k];
});
if (options) {
const keys = Object.keys(options);
keys.forEach(k => {
this[k] = options[k];
});
}
}
get dimensions() {

View File

@ -1,6 +1,7 @@
export interface Sample {
barcode: string;
student_id: string;
initials?: string;
date: Date;
location: string;
}

View File

@ -29,16 +29,15 @@
[formControl]="labelLayoutFormControl"
>
<mat-option *ngFor="let layout of labelLayouts" [value]="layout.type" [ngStyle]="{height: 'inherit', width: 'inherit'}">
<div fxLayout="row" fxLayoutAlign="center center" fxLayoutGap="40px">
<div fxLayout="row" fxLayoutAlign="center center" fxLayoutGap="40px" (click)="labelLayoutFormControl.patchValue(layout)">
<div fxFlex="50%" [ngStyle]="{whiteSpace: 'normal', lineHeight: '1.2'}">
{{layout.name}}
</div>
<div fxFlex="50%">
<!-- <img src="/assets/formats/{{layout.type}}.svg" alt="{{layout.name}}">-->
<app-circle-qrcode-single *ngIf="layout.type === 'circle_1up_32mm_x_32mm_qrcode'"></app-circle-qrcode-single>
<app-circle-qrcode-double *ngIf="layout.type === 'circle_2up_64mm_x_32mm_qrcode'"></app-circle-qrcode-double>
<app-rectangle-code128 *ngIf="layout.type === 'rectangular_54mm_x_34mm_code128'"></app-rectangle-code128>
<app-rectangle-datamatrix *ngIf="layout.type === 'rectangular_54mm_x_34mm_datamatrix'"></app-rectangle-datamatrix>
<app-circle-qrcode-single *ngIf="layout.type === 'circle_1up_32mm_x_32mm_qrcode'" [sample]="fakeSample"></app-circle-qrcode-single>
<app-circle-qrcode-double *ngIf="layout.type === 'circle_2up_64mm_x_32mm_qrcode'" [sample]="fakeSample"></app-circle-qrcode-double>
<app-rectangle-code128 *ngIf="layout.type === 'rectangular_54mm_x_34mm_code128'" [sample]="fakeSample"></app-rectangle-code128>
<app-rectangle-datamatrix *ngIf="layout.type === 'rectangular_54mm_x_34mm_datamatrix'" [sample]="fakeSample"></app-rectangle-datamatrix>
</div>
</div>
</mat-option>

View File

@ -2,9 +2,11 @@ import {AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild} from '@a
import {FormControl, Validators} from '@angular/forms';
import {MatInput} from '@angular/material/input';
import {Router} from '@angular/router';
import {createQrCodeValue} from '../_util/qrCode';
import {labelLayouts} from '../config/defaults';
import {AppDefaults} from '../models/appDefaults.interface';
import {LabelLayout} from '../models/labelLayout.interface';
import {Sample} from '../models/sample.interface';
import {SettingsService} from '../services/settings.service';
@Component({
@ -18,6 +20,8 @@ export class SettingsComponent implements AfterViewInit {
labelLayoutFormControl: FormControl;
locationIdFormControl: FormControl;
labelLayouts: LabelLayout[];
fakeSample: Sample;
fakeBarcodeValue: string;
@ViewChild('locationIdInput') locationIdInput: MatInput;
@ -41,6 +45,8 @@ export class SettingsComponent implements AfterViewInit {
]);
this.labelLayouts = Object.values(labelLayouts);
this._loadFakeData();
}
get hasInfo(): boolean {
@ -62,4 +68,24 @@ export class SettingsComponent implements AfterViewInit {
this.router.navigate(['/']);
}
}
// Make some fake data for sample barcodes
private _loadFakeData() {
this.fakeSample = {
barcode: '',
student_id: '123456789',
initials: 'ABCDE',
date: new Date(),
location: this.settings.locationId,
};
this.fakeBarcodeValue = createQrCodeValue(
this.fakeSample.student_id,
this.fakeSample.initials,
this.fakeSample.date,
this.fakeSample.location
);
this.fakeSample.barcode = this.fakeBarcodeValue;
}
}

View File

@ -1,143 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32mm"
height="32mm"
viewBox="0 0 32 32"
version="1.1"
id="svg936"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="circle_1up_32mm_x_32mm_qrcode.svg">
<defs
id="defs930" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="-66.396594"
inkscape:cy="42.107404"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="407"
inkscape:window-y="1467"
inkscape:window-maximized="1" />
<metadata
id="metadata933">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-265)">
<g
id="g1867">
<g
id="g2015">
<circle
id="path12-3"
cx="16"
cy="281"
style="fill:#ffffff;fill-opacity:1;stroke:#cccccc;stroke-width:0.25003096;stroke-opacity:1"
r="14.174985" />
<image
width="20"
height="20"
preserveAspectRatio="none"
style="image-rendering:optimizeSpeed"
xlink:href="data:image/png;base64,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 pP0G+8MejQFQgNoAAAAASUVORK5CYII= "
id="image4557"
x="5.999999"
y="271" />
<text
id="text827"
y="292.70752"
x="16.070801"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="292.70752"
x="16.070801"
id="tspan825"
sodipodi:role="line">#987654321</tspan></text>
<text
id="text827-6"
y="270.83347"
x="16.011368"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="270.83347"
x="16.011368"
id="tspan825-3"
sodipodi:role="line">200912ABC</tspan></text>
<text
id="text827-61"
y="279.11072"
x="4.2645407"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
id="tspan919"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="279.11072"
x="4.2645407"
sodipodi:role="line">T</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="281.75656"
x="4.2645407"
sodipodi:role="line"
id="tspan1679">12</tspan><tspan
id="tspan925"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="284.40237"
x="4.2645407"
sodipodi:role="line">34</tspan></text>
<text
id="text827-61-5"
y="279.11072"
x="27.582506"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
id="tspan921"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="279.11072"
x="27.582506"
sodipodi:role="line">L</tspan><tspan
id="tspan929"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="281.75656"
x="27.582506"
sodipodi:role="line">40</tspan><tspan
id="tspan1928"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
y="284.40237"
x="27.582506"
sodipodi:role="line">40</tspan></text>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,225 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64mm"
height="32mm"
viewBox="0 0 64 32"
version="1.1"
id="svg936"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="circle_2up_64mm_x_32mm_qrcode.svg">
<defs
id="defs930" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="117.53198"
inkscape:cy="40.678833"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="407"
inkscape:window-y="1467"
inkscape:window-maximized="1" />
<metadata
id="metadata933">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-265)">
<g
id="g1867">
<g
id="g2015">
<circle
id="path12-3"
cx="16"
cy="281"
style="fill:#ffffff;fill-opacity:1;stroke:#cccccc;stroke-width:0.25003096;stroke-opacity:1"
r="14.174985" />
<image
width="20"
height="20"
preserveAspectRatio="none"
style="image-rendering:optimizeSpeed"
xlink:href="data:image/png;base64,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 pP0G+8MejQFQgNoAAAAASUVORK5CYII= "
id="image4557"
x="5.999999"
y="271" />
<text
id="text827"
y="292.70752"
x="16.070801"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="292.70752"
x="16.070801"
id="tspan825"
sodipodi:role="line">#987654321</tspan></text>
<text
id="text827-6"
y="270.83347"
x="16.011368"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="270.83347"
x="16.011368"
id="tspan825-3"
sodipodi:role="line">200912ABC</tspan></text>
<text
id="text827-61"
y="279.11072"
x="4.2645407"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
xml:space="preserve"><tspan
id="tspan919"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="279.11072"
x="4.2645407"
sodipodi:role="line">T</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="281.75656"
x="4.2645407"
sodipodi:role="line"
id="tspan1679">12</tspan><tspan
id="tspan925"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="284.40237"
x="4.2645407"
sodipodi:role="line">34</tspan></text>
<text
id="text827-61-5"
y="279.11072"
x="27.582506"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
xml:space="preserve"><tspan
id="tspan921"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="279.11072"
x="27.582506"
sodipodi:role="line">L</tspan><tspan
id="tspan929"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="281.75656"
x="27.582506"
sodipodi:role="line">40</tspan><tspan
id="tspan1928"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;"
y="284.40237"
x="27.582506"
sodipodi:role="line">40</tspan></text>
</g>
</g>
<g
id="g2031">
<circle
r="14.174985"
style="fill:#ffffff;fill-opacity:1;stroke:#cccccc;stroke-width:0.25003096;stroke-opacity:1"
cy="281"
cx="47.999985"
id="path12-3-9" />
<image
y="271"
x="37.999985"
id="image4557-8"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATYAAAE2CAIAAABk3in+AAAAA3NCSVQICAjb4U/gAAAF0klEQVR4 nO3dy44TMRRFUYL4/19ups3EETIXb1fWmiLSlcdWTY5cr6+vrx9A1c/TFwCsSBTSJAppEoU0iUKa RCFNopAmUUiTKKT9Wv/z6/X6P9fx3+ysqXY+jfXfPfU5z13Vzis3P6s56/frLgppEoU0iUKaRCFN opAmUUiTKKRJFNIkCmlv1kVrzXOPmuuTU3uane/o1BJrx/N+k+6ikCZRSJMopEkU0iQKaRKFNIlC mkQhTaKQtrUuWpvblzQXJHNbnJ3t0alvoXn+0I2/SXdRSJMopEkU0iQKaRKFNIlCmkQhTaKQJlFI G1wX8d3cfqj5dLOdV+Y7d1FIkyikSRTSJAppEoU0iUKaRCFNopAmUUizLvrDqR1P8zliO58G/4q7 KKRJFNIkCmkShTSJQppEIU2ikCZRSJMopA2ui25cn5y65rlnn+28oxu/wbUb35G7KKRJFNIkCmkS hTSJQppEIU2ikCZRSJMopG2ti06duDPn1FKneWbSqWve+Zyf95t0F4U0iUKaRCFNopAmUUiTKKRJ FNIkCmkShbQ366Ibz3qZc2q50twPnfJpv0l3UUiTKKRJFNIkCmkShTSJQppEIU2ikCZRSHvNbTV2 tik3nl5zavXiDKHvTr3fOe6ikCZRSJMopEkU0iQKaRKFNIlCmkQhTaKQ9ubsohvXGHObmLmTfk5t vOb+7qlvYceprdX6ld1FIU2ikCZRSJMopEkU0iQKaRKFNIlCmkQh7c26aG1uT3Pjymfuqm7ceN2o +btyF4U0iUKaRCFNopAmUUiTKKRJFNIkCmkShbStddGpk29ufJ5X88Sd5vPLTpn7JJ1dBI8lUUiT KKRJFNIkCmkShTSJQppEIU2ikLa1LtrRPPeoaW7XMvd3T33Op97vHHdRSJMopEkU0iQKaRKFNIlC mkQhTaKQJlFIO7YuWmvuWuZORfq0a557TtyOubOLPBkNHkuikCZRSJMopEkU0iQKaRKFNIlCmkQh 7dU8r2XOjU8om/uOTi2EmuuxOZ6MBo8lUUiTKKRJFNIkCmkShTSJQppEIU2ikHbs7KIbz9RpvvKO U8ukHTcusZxdBI8lUUiTKKRJFNIkCmkShTSJQppEIU2ikPbm7KI3/3nsZKNTG5HmBmjt1Npmrfl3 15pbK3dRSJMopEkU0iQKaRKFNIlCmkQhTaKQJlFI21oXzWmeIXTjqunG/VDzlU+V4i4KaRKFNIlC mkQhTaKQJlFIkyikSRTSJAppb56MNrfFaS5mnnfNa6cWM6eeMtbcD625i0KaRCFNopAmUUiTKKRJ FNIkCmkShTSJQlr07KK1GzdAa6e+heedETXn1KfhLgppEoU0iUKaRCFNopAmUUiTKKRJFNIkCmlv zi5aa65A5hYzz9sA7XjefqjJXRTSJAppEoU0iUKaRCFNopAmUUiTKKRJFNK21kU3nnt0SnNP0/wG 566q+aS/NXdRSJMopEkU0iQKaRKFNIlCmkQhTaKQJlFIe7Muam5idpx6btrccqX5dLM5n/Z+3UUh TaKQJlFIkyikSRTSJAppEoU0iUKaRCHtgWcXzW2ATtl5R8/7NOau6tTybM1dFNIkCmkShTSJQppE IU2ikCZRSJMopEkU0rbWRWtze4vm6uXU+5079+iUG6/Kk9HgQ0kU0iQKaRKFNIlCmkQhTaKQJlFI kyikDa6LbtTctexoPu1r7dQZQs1v310U0iQKaRKFNIlCmkQhTaKQJlFIkyikSRTSrIv+wtzqZeeV d04nmntu2tz7vXEvtXPN7qKQJlFIkyikSRTSJAppEoU0iUKaRCFNopA2uC5q7jzWTp2aM+d5T0ab e0dze6md35W7KKRJFNIkCmkShTSJQppEIU2ikCZRSJMopG2ti5rblDnN5cqpqzr1yjt/d615KpK7 KKRJFNIkCmkShTSJQppEIU2ikCZRSJMopL1uPGEIPoe7KKRJFNIkCmkShTSJQppEIU2ikCZRSJMo pP0G+8MejQFQgNoAAAAASUVORK5CYII= "
style="image-rendering:optimizeSpeed"
preserveAspectRatio="none"
height="20"
width="20" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="48.070786"
y="292.70752"
id="text827-4"><tspan
sodipodi:role="line"
id="tspan825-8"
x="48.070786"
y="292.70752"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332">#987654321</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="48.011353"
y="270.83347"
id="text827-6-1"><tspan
sodipodi:role="line"
id="tspan825-3-0"
x="48.011353"
y="270.83347"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332">200912ABC</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="36.264526"
y="279.11072"
id="text827-61-3"><tspan
sodipodi:role="line"
x="36.264526"
y="279.11072"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
id="tspan919-0">T</tspan><tspan
id="tspan1679-4"
sodipodi:role="line"
x="36.264526"
y="281.75656"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332">12</tspan><tspan
sodipodi:role="line"
x="36.264526"
y="284.40237"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
id="tspan925-4">34</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;line-height:1.25;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="59.582493"
y="279.11072"
id="text827-61-5-4"><tspan
sodipodi:role="line"
x="59.582493"
y="279.11072"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
id="tspan921-4">L</tspan><tspan
sodipodi:role="line"
x="59.582493"
y="281.75656"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
id="tspan929-7">40</tspan><tspan
sodipodi:role="line"
x="59.582493"
y="284.40237"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.26458332"
id="tspan1928-6">40</tspan></text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,572 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="54mm"
height="34mm"
viewBox="0 0 54.000002 34.000001"
version="1.1"
id="svg8"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="code128-barcode-test.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="155.94433"
inkscape:cy="4.1863626"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="mm"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="407"
inkscape:window-y="1467"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-262.99998)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;line-height:0;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;"
x="26.96641"
y="287.95969"
id="text830"><tspan
sodipodi:role="line"
id="tspan828"
x="26.966412"
y="287.95969"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.11666667px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr;text-anchor:middle;stroke-width:0.26458332;">123456789-ABCDE-202011101110-1010</tspan></text>
<g
transform="matrix(0.07422947,0,0,-0.07422947,3.9888643,285.41873)"
inkscape:label="ink_ext_XXXXXX"
id="g860">
<g
transform="scale(0.1)"
id="g862">
<path
inkscape:connector-curvature="0"
id="path864"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 20,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path866"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 70,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path868"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 150,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path870"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 230,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path872"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 280,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path874"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 370,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path876"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 450,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path878"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 530,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path880"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 580,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path882"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 690,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path884"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 790,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path886"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 840,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path888"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 900,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path890"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1010,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path892"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1050,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path894"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1110,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path896"
style="fill:none;stroke:#000000;stroke-width:77;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1180,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path898"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1270,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path900"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1350,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path902"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1430,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path904"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1480,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path906"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1550,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path908"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1620,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path910"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1690,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path912"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1770,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path914"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1810,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path916"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1900,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path918"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 1990,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path920"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2070,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path922"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2120,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path924"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2210,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path926"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2290,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path928"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2380,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path930"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2430,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path932"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2480,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path934"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2570,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path936"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2650,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path938"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2740,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path940"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2790,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path942"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2870,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path944"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 2940,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path946"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3010,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path948"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3090,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path950"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3150,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path952"
style="fill:none;stroke:#000000;stroke-width:77;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3240,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path954"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3320,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path956"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3390,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path958"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3470,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path960"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3540,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path962"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3610,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path964"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3690,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path966"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3760,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path968"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3850,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path970"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3910,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path972"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 3980,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path974"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4050,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path976"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4130,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path978"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4200,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path980"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4290,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path982"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4350,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path984"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4420,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path986"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4490,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path988"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4570,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path990"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4630,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path992"
style="fill:none;stroke:#000000;stroke-width:77;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4700,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path994"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4790,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path996"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4850,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path998"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4920,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1000"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 4990,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1002"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5070,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1004"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5130,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1006"
style="fill:none;stroke:#000000;stroke-width:77;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5220,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1008"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5300,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1010"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5370,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1012"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5450,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1014"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5520,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1016"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5590,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1018"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5670,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1020"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5730,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1022"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5780,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1024"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5890,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1026"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 5960,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1028"
style="fill:none;stroke:#000000;stroke-width:57;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 6070,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1030"
style="fill:none;stroke:#000000;stroke-width:17;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 6130,10 V 1450" />
<path
inkscape:connector-curvature="0"
id="path1032"
style="fill:none;stroke:#000000;stroke-width:37;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="M 6180,10 V 1450" />
</g>
</g>
<g
transform="translate(0,-2e-5)"
id="g872">
<rect
ry="1.5875"
rx="1.5875"
y="264.125"
x="1.6000004"
height="31.75"
width="50.799999"
id="rect5000"
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.17638889;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
id="g1163"
transform="translate(-2.087723,-1.7764499)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:0;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3"><tspan
sodipodi:role="line"
x="6.6571178"
y="268.65799"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
id="tspan4951-6-0-1">UP</tspan></text>
<g
id="g5088-1"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0"
d="M 0,0 H 24 V 24 H 0 Z"
inkscape:connector-curvature="0"
style="fill:none" />
<path
id="path5076-3"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
inkscape:connector-curvature="0" />
</g>
</g>
<g
id="g1163-9"
transform="translate(-2.087723,25.97355)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:0;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3-0"><tspan
sodipodi:role="line"
x="6.6571178"
y="268.65799"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
id="tspan4951-6-0-1-8">UP</tspan></text>
<g
id="g5088-1-8"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0-5"
d="M 0,0 H 24 V 24 H 0 Z"
inkscape:connector-curvature="0"
style="fill:none" />
<path
id="path5076-3-0"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@ -1,161 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="54mm"
height="34mm"
viewBox="0 0 54 34"
version="1.1"
id="svg5173"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="datamatrix-54mm_x_34mm.svg">
<defs
id="defs5167" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8284271"
inkscape:cx="152.70791"
inkscape:cy="5.307426"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="mm"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="407"
inkscape:window-y="1467"
inkscape:window-maximized="1" />
<metadata
id="metadata5170">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-263)">
<g
id="g872">
<rect
ry="1.5875"
rx="1.5875"
y="264.125"
x="1.6000004"
height="31.75"
width="50.799999"
id="rect5000"
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.17638889;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
id="g1163"
transform="translate(-2.087723,-1.7764499)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:0;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3"><tspan
sodipodi:role="line"
x="6.6571178"
y="268.65799"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
id="tspan4951-6-0-1">UP</tspan></text>
<g
id="g5088-1"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0"
d="M 0,0 H 24 V 24 H 0 Z"
inkscape:connector-curvature="0"
style="fill:none" />
<path
id="path5076-3"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
inkscape:connector-curvature="0" />
</g>
</g>
<g
id="g1163-9"
transform="translate(-2.087723,25.97355)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:0;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="6.6571178"
y="268.65799"
id="text4940-2-2-3-0"><tspan
sodipodi:role="line"
x="6.6571178"
y="268.65799"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.11666656px;line-height:2.11666656px;font-family:monospace;-inkscape-font-specification:'monospace, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
id="tspan4951-6-0-1-8">UP</tspan></text>
<g
id="g5088-1-8"
transform="matrix(0.08333333,0,0,0.08333333,4.687723,266.90145)">
<path
id="path5074-0-5"
d="M 0,0 H 24 V 24 H 0 Z"
inkscape:connector-curvature="0"
style="fill:none" />
<path
id="path5076-3-0"
d="M 20,11 H 7.83 L 13.42,5.41 12,4 4,12 12,20 13.41,18.59 7.83,13 H 20 Z"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
<g
transform="matrix(0.125,0,0,-0.125,4.387,285.125)"
inkscape:label="ink_ext_XXXXXX"
id="g1445">
<g
transform="scale(0.1)"
id="g1447">
<path
inkscape:connector-curvature="0"
id="path1449"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 10,810 H 50 V 770 H 90 V 610 H 50 v -40 h 40 v 40 h 40 v -40 h 40 V 530 H 50 V 490 H 90 V 450 H 50 V 370 H 90 V 330 H 50 V 290 H 90 V 250 H 50 V 130 H 90 V 90 H 250 V 50 h 40 v 80 h 40 v 40 h 40 v -40 h 40 V 90 H 370 V 50 h 40 v 40 h 40 V 50 h 40 v 40 h -40 v 40 h 80 V 50 h 200 v 40 h 40 V 50 h 40 V 10 H 10 Z m 80,0 h 40 V 770 H 90 Z m 80,0 h 40 v -80 h -40 z m 80,0 h 40 v -40 h -40 z m 80,0 h 40 v -40 h -40 z m 80,0 h 40 v -40 h -40 z m 80,0 h 40 V 690 h -40 v 40 h -40 v 40 h 40 z m 80,0 h 40 v -40 h -40 z m 80,0 h 40 v -40 h 40 v -40 h -40 v -40 h -40 z m 80,0 h 40 V 770 H 730 Z M 290,770 h 40 v -40 h -40 z m 80,0 h 40 v -40 h -40 z m 400,0 h 40 V 730 H 770 Z M 410,730 h 40 V 610 h -80 v 80 h 40 z m 160,0 h 40 v -40 h 40 v -40 h 40 v 40 h 120 v -40 h -80 v -80 h -40 v 40 h -80 v 40 H 570 Z M 170,690 h 120 v -40 h -40 v -40 h -40 v 40 h -40 z m 120,-40 h 40 v -40 h 40 v -80 h -40 v 40 h -80 v 40 h 40 z m 200,0 h 40 v -40 h 80 v -80 h -40 v 40 H 530 V 490 H 410 v 80 h 40 v -40 h 40 z M 170,610 h 40 v -40 h -40 z m 600,0 h 40 V 570 H 770 Z M 170,530 H 290 V 490 H 170 Z m 600,0 h 40 V 490 H 770 Z M 330,490 h 40 V 450 H 490 V 330 h -40 v 80 h -40 v -40 h -40 v 40 h -40 z m 280,0 h 160 v -40 h 40 v -40 h -80 v 40 h -40 v -40 h -40 v 40 H 610 Z M 90,450 h 80 V 410 H 90 Z m 120,0 h 80 v -40 h 40 v -40 h -40 v -40 h -40 v 80 h -40 z m 320,0 h 80 V 330 h -40 v 40 H 530 Z M 170,410 h 40 v -40 h -40 z m 160,-40 h 40 v -40 h -40 z m 400,0 h 80 V 330 H 770 V 290 H 730 Z M 90,330 h 40 V 290 H 90 Z m 80,0 h 40 v -40 h 80 v -40 h -40 v -40 h 80 v -40 h -40 v -40 h -40 v 40 h -40 v -40 h -40 v 80 h 40 v 40 h -40 z m 200,0 h 80 V 290 H 410 V 170 h -40 v 80 h -40 v 40 h 40 z m 120,0 h 80 V 170 h -40 v 80 h -40 z m 160,0 h 40 v -40 h -40 z m -40,-40 h 40 v -80 h -40 z m 80,0 h 40 v -80 h -40 z m 80,0 h 40 V 250 H 770 Z M 90,250 h 40 V 210 H 90 Z m 640,-40 h 80 V 170 H 770 V 130 H 730 V 90 h -40 v 80 h 40 z M 90,170 h 40 V 130 H 90 Z m 320,0 h 40 v -40 h -40 z m 200,0 h 40 v -40 h -40 z m -40,-40 h 40 V 90 h -40 z m 200,0 h 40 V 90 h -40 z" />
</g>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222223px;line-height:0;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="17.653555"
y="278.20511"
id="text4940-2"><tspan
sodipodi:role="line"
x="17.653555"
y="278.20511"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222223px;line-height:2.82222223px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
id="tspan4944-4">#987654321</tspan><tspan
sodipodi:role="line"
x="17.653555"
y="281.02734"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222223px;line-height:2.82222223px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
id="tspan4953-0">2021-01-23 12:34</tspan><tspan
sodipodi:role="line"
x="17.653555"
y="283.84955"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.82222223px;line-height:2.82222223px;font-family:monospace;-inkscape-font-specification:'monospace, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458332"
id="tspan4951-6">ABCDE 0404</tspan></text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.9 KiB

View File

@ -442,4 +442,25 @@
}
}
}
svg.label-layout-format {
text, tspan {
font-style: normal;
font-variant: normal;
font-weight: bold;
font-stretch: normal;
font-size: 2.11666656px;
line-height: 1.25;
font-family: monospace;
text-align: center;
font-variant-ligatures: normal;
font-variant-caps: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
font-variant-numeric: normal;
font-feature-settings: normal;
text-anchor: middle;
}
}
}