예제 #1
0
        public LabelContext label()
        {
            LabelContext _localctx = new LabelContext(_ctx, State);

            EnterRule(_localctx, 16, RULE_label);
            int _la;

            try {
                EnterOuterAlt(_localctx, 1);
                {
                    State = 73;
                    _errHandler.Sync(this);
                    _la = _input.La(1);
                    if (_la == LABEL)
                    {
                        {
                            State = 72; Match(LABEL);
                        }
                    }
                }
            }
            catch (RecognitionException re) {
                _localctx.exception = re;
                _errHandler.ReportError(this, re);
                _errHandler.Recover(this, re);
            }
            finally {
                ExitRule();
            }
            return(_localctx);
        }
예제 #2
0
        public LayoutDesigner(PdfContext pdfContext, LabelContext labelContext)
        {
            this._labelContext = labelContext;

            this._pageWidth  = (int)UnitConverter.ConvertMmToPixel(pdfContext.PdfSize.Width, pdfContext.Dpi);
            this._pageHeight = (int)UnitConverter.ConvertMmToPixel(pdfContext.PdfSize.Height, pdfContext.Dpi);
        }
예제 #3
0
        public LabelMakerViewModel()
        {
            this._inferencer = new CsvTypeInferencer();

            this._dialog = new OpenFileDialog
            {
                InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
                Filter           = "CSV File|*.csv|All|*.*",
            };

            this.OutputPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            this.FileName   = "output.pdf";

            this._labelContext = new LabelContext();
            this._pdfContext   = new PdfContext();

            this.PdfSize       = this._pdfContext.PdfSizeSet;
            this.Dpi           = this._pdfContext.Dpi;
            this.ParPage       = this._labelContext.ParPage;
            this.MarginRatio   = this._labelContext.MarginRatio;
            this.LineWidth     = this._labelContext.OutlineWidth;
            this.IsVisibleLine = this._pdfContext.IsVisibleSeparateLine;

            this.ToAddressList   = new ObservableCollection <BindableAddress>();
            this.FromAddressList = new ObservableCollection <BindableAddress>();
        }
예제 #4
0
        public WaitingImageService(
            ILogger <WaitingImageService> logger,
            IConfiguration configuration,
            ILoggerFactory loggerFactory)
        {
            _logs = new StringBuilder();

            _logger        = logger;
            Configuration  = configuration;
            _labelContext  = new LabelContext(configuration);
            _loggerFactory = loggerFactory;
        }
예제 #5
0
        public PdfDrawer(PdfContext pdfContext, LabelContext labelContext)
        {
            this._pdfContext   = pdfContext;
            this._labelContext = labelContext;

            var designer       = new LayoutDesigner(pdfContext, labelContext);
            var layoutProperty = designer.Design();

            this._layoutProperty = layoutProperty;

            this._labelDrawer = new LabelDrawer(labelContext, layoutProperty);
        }
예제 #6
0
        internal Label(IJsonLabel json, TrelloAuthorization auth)
        {
            Id       = json.Id;
            _context = new LabelContext(Id, auth);
            _board   = new Field <Board>(_context, nameof(Board));
            _color   = new Field <LabelColor?>(_context, nameof(Color));
            _color.AddRule(EnumerationRule <LabelColor?> .Instance);
            _name = new Field <string>(_context, nameof(Name));
            _uses = new Field <int?>(_context, nameof(Uses));

            _context.Merge(json);
        }
예제 #7
0
        protected override int ExecuteArguments(IEnumerable <IArgument> args)
        {
            var srcPath  = args.Get <Src1Argument>();
            var srcType  = args.Get <SrcType1Argument>();
            var src2Path = args.Get <Src2Argument>();
            var src2Type = args.Get <SrcType2Argument>();
            var destPath = args.Get <DestArgument>();
            var dpi      = args.Get <DpiArgument>();
            var width    = args.Get <LineWidthArgument>();
            var margin   = args.Get <MarginArgument>();
            var parPage  = args.Get <ParPageArgument>();

            var pdfContext = new PdfContext
            {
                FileName              = Path.GetFileName(destPath.Argument),
                OutputPath            = Path.GetDirectoryName(destPath.Argument),
                Dpi                   = dpi.GetArgumentAsFloat(),
                IsVisibleSeparateLine = args.Contains <VisibleLineArgument>(),
            };

            var labelContext = new LabelContext
            {
                OutlineWidth = width.GetArgumentAsInt(),
                MarginRatio  = margin.GetArgumentAsFloat(),
                ParPage      = parPage.GetArgumentAsInt(),
            };

            try
            {
                var toAddressList = CsvReader.Read(CsvResolver.ResolveType(srcType), srcPath.Argument)
                                    .Cast <IAddress>();
                var fromAddress = CsvReader.Read(CsvResolver.ResolveType(src2Type), src2Path.Argument)
                                  .Cast <IAddress>().First();

                var labelContents = this.BuildLabelContents(toAddressList, fromAddress);

                var drawer = new PdfDrawer(pdfContext, labelContext);
                drawer.Draw(labelContents);

                this._messenger.Send("PDF の作成を終了しました");

                return(0);
            }
            catch (Exception ex)
            {
                this._messenger.Send("PDF の作成でエラーが発生しました");
                this._messenger.Send(ex.Message);

                return(1);
            }
        }
예제 #8
0
        internal Label(IJsonLabel json, TrelloAuthorization auth)
        {
            Id       = json.Id;
            _context = new LabelContext(Id, auth);
            _board   = new Field <Board>(_context, nameof(Board));
            _color   = new Field <LabelColor?>(_context, nameof(Color));
            _color.AddRule(EnumerationRule <LabelColor?> .Instance);
            _name = new Field <string>(_context, nameof(Name));

            _context.Merge(json);

            if (auth != TrelloAuthorization.Null)
            {
                TrelloConfiguration.Cache.Add(this);
            }
        }
예제 #9
0
        public override string GetMessage()
        {
            var csvKindList = Enum.GetNames(typeof(CsvKind))
                              .Select(x => x.ToLower());

            var labelContext = new LabelContext();
            var pdfContext   = new PdfContext();

            return(@$ "各種サービスから出力された住所 CSV からラベルを作成するユーティリティープログラム
    1. 住所 CSV を元に郵便用ラベルを作成し、 PDF として出力する
    2. 住所 CSV を元に他サービスに対応した CSV へ変換する
--------------------
オプション説明 : " "*" " は必須オプション

    共通オプション :

      * --csv                                            : CSV 変換を実行。 --pdf とは排他。
      * --pdf                                            : PDF 作成を実行。 --csv とは排他。
        --help | -h                                      : ヘルプを表示。このテキスト。
      * --source | -s | --source1 | -s1 <file path>      : ソースとなる CSV ファイルを指定。
        --sourceType | -st | --sourceType1 | -st1 <type> : ソースとなる CSV ファイルの種別を指定。
                                                           {csvKindList.Join(", ")} の{csvKindList.Count()}種類。
                                                           指定がない場合、 CSV ファイルから推定。
        --output | -o <output path>                      : 出力先を指定。
                                                           指定がない場合、ソースファイルと同じディレクトリに作成。
                                                           ファイル名は output.csv / output.pdf

    CSV 変換プログラム用オプション : --pdf が指定された場合無視される

        --outputType | -ot <type>                        : 出力 CSV の種別を指定。
                                                           {csvKindList.Join(", ")} の{csvKindList.Count()}種類。
                                                           指定がない場合、 {CsvKind.Default.ToString().ToLower()} で出力。

    PDF 作成プログラム用オプション : --csv が指定された場合無視される

      * --source2 | -s2 <file path>                      : 差出人用 CSV ファイルを指定。
        --sourceType2 | -st2 <type>                      : 差出人用 CSV ファイルの種別を指定。
                                                           {csvKindList.Join(", ")} の{csvKindList.Count()}種類。
                                                           指定がない場合、 CSV ファイルから推定。
        --dpi | -d <num>                                 : DPI を指定。 デフォルトは " "{pdfContext.Dpi}" " 。
        --parPage | -p <num>                             : 面付を指定。 デフォルトは " "{labelContext.ParPage}" " 。
        --margin | -m <num>                              : ラベルの余白を指定。 デフォルトは " "{labelContext.MarginRatio}" " 。
        --width | -w <num>                               : ラベル枠線の幅を指定。 デフォルトは " "{labelContext.OutlineWidth}" " 。
        --visible | -v                                   : ラベルの分割線を表示する。
");
        }
예제 #10
0
        public VisionServices(
            IConfiguration configuration,
            ILogger <VisionServices> logger,
            LabelContext labelContext)
        {
            _logs = new StringBuilder();

            _Configuration = configuration;
            _labelContext  = labelContext;
            _logger        = logger;

            _logs.AppendLine("Autenticando o serviço Vision no azure");

            _client = Authenticate(
                _Configuration.GetSection("Vision").GetValue <string>("endpoint"),
                _Configuration.GetSection("Vision").GetValue <string>("subscriptionKey"));
        }
예제 #11
0
        public LabelContext label()
        {
            LabelContext _localctx = new LabelContext(Context, State);

            EnterRule(_localctx, 4, RULE_label);
            try {
                EnterOuterAlt(_localctx, 1);
                {
                    State = 40; Match(LABEL);
                }
            }
            catch (RecognitionException re) {
                _localctx.exception = re;
                ErrorHandler.ReportError(this, re);
                ErrorHandler.Recover(this, re);
            }
            finally {
                ExitRule();
            }
            return(_localctx);
        }
예제 #12
0
	public LabelContext label() {
		LabelContext _localctx = new LabelContext(Context, State);
		EnterRule(_localctx, 26, RULE_label);
		int _la;
		try {
			EnterOuterAlt(_localctx, 1);
			{
			State = 148;
			_la = TokenStream.La(1);
			if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << BYTES) | (1L << ITEMS) | (1L << AS) | (1L << DESCRIBED) | (1L << BY) | (1L << ASCII) | (1L << UNICODE) | (1L << UTF8) | (1L << UINT64) | (1L << UINT32) | (1L << UINT16) | (1L << INT64) | (1L << INT32) | (1L << INT16) | (1L << SINGLE) | (1L << FLOAT) | (1L << DOUBLE) | (1L << ADDITIONAL) | (1L << PROPERTIES) | (1L << IDENTIFIED) | (1L << FROM) | (1L << LABEL))) != 0)) ) {
			ErrorHandler.RecoverInline(this);
			}
			else {
			    Consume();
			}
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			ErrorHandler.ReportError(this, re);
			ErrorHandler.Recover(this, re);
		}
		finally {
			ExitRule();
		}
		return _localctx;
	}
예제 #13
0
	public LabelContext label() {
		LabelContext _localctx = new LabelContext(Context, State);
		EnterRule(_localctx, 38, RULE_label);
		try {
			EnterOuterAlt(_localctx, 1);
			{
			State = 152; Match(LIMSTRING);
			State = 153; Match(T__2);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			ErrorHandler.ReportError(this, re);
			ErrorHandler.Recover(this, re);
		}
		finally {
			ExitRule();
		}
		return _localctx;
	}
예제 #14
0
 public TesteController(IConfiguration configuration, LabelContext labelContext)
 {
     //_Configuration = configuration;
     //_visionServices = new VisionServices(configuration,labelContext);
 }