ArcGIS API For JavaScript Font字体pbf下载

    技术2022-07-17  92

    参考:https://blog.csdn.net/weixin_38169562/article/details/101633574 从 http://static.arcgis.com/fonts 下载

    一、代码

    前端HTML页面

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> </head> <body> <input type="button" onclick="test()" value="字体下载" /> <script> function test() { console.log("开始下载"); $.ajax({ url: "Handler_Download.ashx", type: "POST", async: true, success: function (str) { console.log("下载完成") }, error: function (err) { console.log(err); } }); } </script> </body> </html>

    后台 Handler_Download.ashx文件

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Net; namespace Map { /// <summary> /// Handler_Download 的摘要说明 /// </summary> public class Handler_Download : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); getFont(); context.Response.End(); } public bool IsReusable { get { return false; } } public void getFont() { string baseUrl = @"http://static.arcgis.com/fonts/arial-unicode-ms-regular/"; string basePath = @"D:/下载/test/fonts/arial-unicode-ms-regular/"; for (int i = 0; i < 256; i++) { string fileName = (i * 256).ToString() + '-' + ((i + 1) * 256 - 1).ToString() + ".pbf"; string address = baseUrl + fileName; WebClient client = new WebClient(); client.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:21.0) Gecko/20130109 Firefox/21.0"); if (!System.IO.Directory.Exists(basePath))//如果不存在就创建 dir 文件夹 System.IO.Directory.CreateDirectory(basePath); string filepath = basePath + fileName; //判断文件的存在 if (System.IO.File.Exists(filepath)) { //存在文件 } else { //不存在文件 client.DownloadFile(address, filepath);//创建该文件 } } baseUrl = @"http://static.arcgis.com/fonts/arial-unicode-ms-bold/"; basePath = @"D:/下载/test/fonts/arial-unicode-ms-bold/"; for (int i = 0; i < 256; i++) { string fileName = (i * 256).ToString() + '-' + ((i + 1) * 256 - 1).ToString() + ".pbf"; string address = baseUrl + fileName; WebClient client = new WebClient(); client.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:21.0) Gecko/20130109 Firefox/21.0"); if (!System.IO.Directory.Exists(basePath))//如果不存在就创建 dir 文件夹 System.IO.Directory.CreateDirectory(basePath); string filepath = basePath + fileName; //判断文件的存在 if (System.IO.File.Exists(filepath)) { //存在文件 } else { //不存在文件 client.DownloadFile(address, filepath);//创建该文件 } } } } }

    二、其他字体下载路径

    下载路径为

    http://static.arcgis.com/fonts/【ESRI字体命名规范】/

    除特殊几个字体外,一般ESRI的命名规范为

    family 均变为小写字母,空格改为横杠 “-”weight :normal对应regular,bold 对应 boldstyle :一般没有以上转换好之后,按 [family]-[weight]-[style] 顺序用横杠 "-"拼接。 familyweightESRI命名规范sans-serifnormalarial-unicode-ms-regularsans-serifboldarial-unicode-ms-boldserifnormalnoto-serif-regularserifboldnoto-serif-boldPlayfair Displaynormalplayfair-display-regularPlayfair Displayboldplayfair-display-boldMicrosoft YaHeinormalmicrosoft-yahei-regularMicrosoft YaHeiboldmicrosoft-yahei-boldSimSunnormalsimsun-regularSimSunboldsimsun-bold
    Processed: 0.016, SQL: 9