月度归档:2019年04月

精品数据库(省市区县带拼音行政区划、大学、IP地址、农历、等)

行政区划-数据库

全国行政区划,省市区镇四级,包含名称、完整名称、经纬度、区号、邮编、行政区划代码、拼音。

使用说明

area.xlsx Excel文件数据
area.sql MySQL脚本
area.psc Navicat for MySQL备份文件
area.nb3 Navicat Premium备份文件

数据来源

高德API
民政部官网
中国邮政官网

C#实现自动打印PDF

采用PDFRender4NET

//打印机设置
PrinterSettings settings = new PrinterSettings();
settings.PrinterName = printername;
settings.PrintToFile = false;
settings.Copies = 1;
settings.PrintRange = PrintRange.AllPages;
//设置纸张大小(可以不设置取,取默认设置)
PaperSize ps = new PaperSize("Your Paper Name",595,842);
ps.RawKind = 9; //如果是自定义纸张,就要大于118

//打印设置
PDFRender.Printing.PDFPrintSettings pdfPrintSettings = new PDFRender.Printing.PDFPrintSettings(settings);
pdfPrintSettings.AutoRotate = false;            //自动旋转
pdfPrintSettings.BitmapPrintResolution = 560;   //图片打印精度                    
pdfPrintSettings.PaperSize = ps;                //纸张尺寸
pdfPrintSettings.PageScaling = PDFRender.Printing.PageScaling.FitToPrinterMarginsProportional;

pdfFile.Print(pdfPrintSettings);

代码详见: https://github.com/HiRaygo/DocumentPrint/blob/master/PdfPrint.cs

采用SumatraPDF或Acrobat Reader方案

 public static PrintEngine SumatraPDF = new PrintEngine("Sumatra PDF Reader",
            ((printerName, filePath, documentName) => 
            {
                string app = Path.Combine(Program.localPath, "SumatraPDF.exe");
                string args = string.Format("-silent -exit-on-print -print-to \"{0}\" \"{1}\"", printerName, filePath);

                Process p = new Process();
                p.StartInfo = new ProcessStartInfo()
                {
                    CreateNoWindow = true,
                    WindowStyle = ProcessWindowStyle.Hidden,
                    FileName = app,
                    Arguments = args
                };
                //if (User.isNetworkService())
                //{
                //    p.StartInfo.UserName = Program.config.serviceLogin;
                //    p.StartInfo.Password = tools.secureString(tools.Decrypt(Program.config.servicePass));
                //    p.StartInfo.Domain = Program.config.serviceDomain;
                //    p.StartInfo.LoadUserProfile = true;
                //    p.StartInfo.UseShellExecute = false;
                //}
                p.Start();

            })){};

        /// <summary>
        /// Print via external programm Acrobat Reader
        /// </summary>
        public static PrintEngine AcrobatReader = new PrintEngine("Acrobat Reader",
            ((printerName, filePath, documentName) =>
            {                
                string app = Registry.LocalMachine.OpenSubKey(
                        @"SOFTWARE\Microsoft\Windows\CurrentVersion" +
                        @"\App Paths\AcroRd32.exe"
                    ).GetValue("").ToString()
                ;
                string args = string.Format("/h /t \"{0}\" \"{1}\"", filePath, printerName);

                Process p = new Process();
                p.StartInfo = new ProcessStartInfo()
                {
                    CreateNoWindow = true,
                    WindowStyle = ProcessWindowStyle.Hidden,
                    FileName = app,
                    Arguments = args
                };
                //if (User.isNetworkService())
                //{

                //    p.StartInfo.UserName = Program.config.serviceLogin;
                //    p.StartInfo.Password = tools.secureString(tools.Decrypt(Program.config.servicePass));
                //    p.StartInfo.Domain = Program.config.serviceDomain;
                //    p.StartInfo.LoadUserProfile = true;
                //    p.StartInfo.UseShellExecute = false;
                //}
                p.Start();

})){};

代码详见: https://github.com/RepairShopr/AutoPrintr-win/blob/master/AutoPrintr/modules/PrintEngines.cs

fedora如何从Nautilus/Files打开终端

使用Files(又名Nautilus)时,您是否想过快速打开终端以在当前位置运行命令?

Nautilus的gnome-terminal-nautilus附加组件提供了一个右键单击上下文菜单项, 可以在当前位置快速打开一个新的gnome-terminal窗口。

enter image description here

当您需要对图形文件浏览器中正在查看的某些文件运行快速命令时,对nautilus界面的这一小调整非常方便。

安装gnome-terminal-nautilus

sudo dnf install gnome-terminal-nautilus

安装后,“在终端中打开”选项应出现在“文件”中的右键单击上下文菜单中。如果安装后没有出现,请通过运行以下命令强制关闭Nautilus。然后重新打开文件

nautilus -q

Yii2 文件上传扩展

官方指南

aminkt/yii2-upload-manager

Upload manager system based and inspired from WordPress upload manager.

yii2-image-manager

A module/widget for upload, manage and cropping images

yii2-attachments

Extension for file uploading and attaching to the models

yii2-widget-fileinput

An enhanced FileInput widget for Bootstrap 3.x with file preview, multiple selection, and more features

yii2-file-input-widget

Jasny File Input Bootstrap Widget + Local and Remote storage

yii2-file-upload

PHP library for uploading files to your server or Amazon S3

yii2-upload-file

Yii2 tools for upload file