반응형 CSharp 테크닉5 C# 테크닉 - xls 파일에 Local Image 추가하기 # xls 파일에 Local Storage 에 있는 Image 를 Load 해서 추가한다. > 추가하는 이미지의 크기를 파라미터로 입력할 수 있다. # 관련 소스 코드 > using Excel = Microsoft.Office.Interop.Excel; > Excel.Range PositionXY = (Excel.Range)workSheet.Cells[Row, Col]; > workSheet.Shapes.AddPicture(strSaveFileFullPath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, PositionXY.Left, PositionXY.Top, 100, 100); 2023. 9. 19. C# 테크닉 - 크롤링 # 크롤링(Crawling) / 스크레이핑(Scraping) 은 웹에 노출된 데이터를 가져와서 특정한 규칙 또는 위치의 데이터를 추출한다. # 전용 소프트웨어를 크롤러(crawler)라고 한다. # 스파이더(spider), 봇(bot)과 같은 지능형 검색엔진들도 크롤링 기법을 많이 이용한다. # 미리 입력된 방식에 따라 끊임없이 새로운 웹 페이지를 찾고 찾은 결과를 이용해 새로운 정보에 색인을 추가 1. Selenium 설치한다. > Visual Studio 에서 메뉴 - 도구 - NuGet 패키지 관리자로 이동 > Selenium.WebDriver, Selenium.Support 설치 > Selenium.WebDriver.ChromeDriver, DotNetSeleniumExtras.WaitHelper.. 2023. 9. 19. C# 테크닉 - TrayIcon # 최소화 버튼을 눌렀을 때 프로그램을 트레이 아이콘 형태로 축소 시켜서 가동시키는 방법 >>> 다시 요청하면 윈도우상에 원래 크기로 프로그램을 표시한다. # 공용 컨트롤 에서 NotifyIcon 을 검색 후 선택하여 리소스 화면에 끌어놓는다. 그리고 이름을 TrayIcon 으로 변경하고 Text 에는 표시되는 이름이므로 Application 이름을 기록한다. >>> 추가적으로 Icon 도 변경 가능하고 ContextMenu 도 연결 가능한다. # 화면이 축소되는 상황에서 TrayIcon 으로 전환하기 위해서 resize 이벤트 함수를 생성한다. private void NotifyResizeTrayIcon(object sender, EventArgs e) { if (this.WindowState == F.. 2023. 9. 19. C# 테크닉 - Image 파일 다운로드 # web site 에 존재하는 Image 를 Local Storage 에 저장하는 방법 > http 방식 이용 # 관련 소스 코드 > using System.Net; > HttpWebRequest REQ = (HttpWebRequest)WebRequest.Create(cover_image_full_path); > HttpWebResponse RES = (HttpWebResponse)request.GetResponse(); > bool bImage = RES.ContentType.EndsWith("image/jpeg", StringComparison.OrdinalIgnoreCase); > if (bImage) > { > using (Stream inputStream = response.GetRespons.. 2023. 9. 19. C# 테크닉 - 이미지 캡처 ( 크롤링 ) # 데이터를 수집하는 과정(Selenium 이용)에서 WebPage 상태를 그대로 캡처해서 파일로 저장 # 옵션 설정 확인 > ChromeOptions 에서 AddArgument("--start-maximized"); 추가 > ChromeOptions 에서 AddArgument("--start-fullscreen"); 추가 - 데이터 화면만 표시되도록 하기 위함. > ChromeOptions 에서 AddArgument("headless"); 제거 - headless 를 사용하게 되면 WebPage 가 전체 화면으로 표시되지 않고 scroll 에 의해서 가려지는 현상 있음 # 소스 코드 public void ScreenshotFromUrlPage(ChromeDriver driver) { try { Stri.. 2023. 9. 19. 이전 1 다음 반응형