분류 전체보기
-
C#으로 Acrobat(PDF) 문서를 이미지로 변환하기C# 2010. 2. 20. 22:20
PDF 문서는 상당히 강력한 기능을 제공하지만, 많은 내용이 담긴 문서의 경우에는 그 용량 또한 무지하지 못할 정도로 커지게 되므로, 웹 상에서 배포할 할 때는 파일이 클라이언트로 모두 다운로드될 때 까지 대기 해야만 합니다. 구글도서나 YES24와 같은 사이트에는 즉시 응답성을 위해서 이미지 포맷을 이용하여 미리보기를 제공하여 즉시 응답성을 높이고 있는데요. 그래서 PDF 문서를 이미지로 변환하여 웹 상에서 제공할 수 있지 않을까 하고 생각해 보았습니다. 이미지로 변환하는 기능은 Acrobat에서 제공하고 있으므로, C#에서도 Acrobat의 기능을 이용하여 PDF를 이미지로 변경하는 것이 가능합니다. 이미지로 변환하기 위해서는 우선 Adobe Acrobat이 설치되어 있어야 합니다. 애석하게도 Acr..
-
ASP.NET MVC 에서 사용자 정의 컨트롤의 내용을 문자열로 받기ASP.NET 2010. 1. 14. 13:12
간혹 사용자 정의 컨트롤(.ascx) 파일에서 처리한 내용을 Page에 바로 출력하는 것이 아니라, 문자열로 받아야 할 경우가 있습니다. ASP.NET 웹 폼의 경우에는 Page.LoadControl() 과 Control.RenderControl() 메서드를 이용하여 아래와 같은 코드로 사용자 정의 컨트롤이 처리한 내용을 문자열로 받아올 수 있습니다. Control control = LoadControl("~/MailTemplate.ascx"); ((MailTemplate)control).DestinationName = "Whistle"; StringBuilder stringBuilder = new StringBuilder(); using (StringWriter sw = new StringWriter(..
-
Visual Studio 2010 Beta 2 에서 Code Coverage 사용하기Visual Studio 2010. 1. 7. 10:50
Visual Studio 2010 Beta 2 에서는 UnitTest에 대한 Code Coverage 활성화하는 설정방법이 변경되었습니다. Visual Studio 2008에서의 Test Setting 과 Visual Studio 2010에서의 Test Setting이 달라서 한동안 애를 먹었는데요. Visual Studio 2010 Beta 2에서 Code Coverage 를 사용하기 위한 방법은 아래와 같습니다. 테스트 프로젝트가 포함된 솔루션에서 Solution Items 폴더 아래에 존재하는 Local.testsettings 파일을 더블 클릭하여 엽니다. Data and Diagnostics 항목을 선택합니다. Code Coverage 항목의 Enabled 를 체크합니다. Configure 버튼을..
-
메서드를 호출한 어셈블리 정보 가져오기C# 2009. 10. 22. 21:35
때때로 작성한 메서드를 과연 어디서 호출하는지 알고 싶을 때가 있습니다. 동일한 어셈블리 내에서의 호출일 수 도 있겠지만, public으로 노출된 메서드라면 현재 어셈블리 외의 외부에서도 호출이 가능합니다. 이럴 때 현재 메서드를 어느 어셈블리에서 호출하였는지를 알 수 있는 방법이 있습니다. 이미 알고 계시는지는 모르겠지만, Assembly 클래스의 정적메서드인 GetCallingAssembly 메서드가 이 방법을 제공하고 있습니다. 아래와 같이 솔루션이 구성되어 있을 때 MethodCallAssembly 프로젝트에서 CalledAssembly의 CalledClass내의 메서드를 호출한다고 할 때, public class CalledClass { public void CalledMethod() { // ..
-
Vista에서 사용자 폴더 안에 내가 필요한 폴더를 등록하기기타 2008. 9. 10. 14:08
Vista에서 사용자 폴더에 등록된 폴더 중 문서, 다운로드, 음악, 비디오 등 기본적으로 제공하는 폴더외의 내가 정한 폴더를 등록하고 싶은 경우가 있습니다. 이때 사용자 폴더 내에 새로운 폴더를 하나 만들어서 사용하면 되지만, 문서나 기타 다른 폴더들의 위치도 다른 드라이브로 옮겨서 사용하는데, 폴더내에 새로운 폴더를 생성한다는 꺼름직하죠. 그때 사용할 수 있는 것이 링크폴더를 만드는 것인데요. Vista에서는 mklink라는 명령어를 제공하여 심볼릭 링크를 생성할 수 있도록 해줍니다. mklink의 사용법입니다. 저는 D:\Projects라는 폴더를 사용자 폴더(C:\Users\Hwikyeom)내에 프로젝트라는 이름으로 링크폴더를 만들려고 합니다. 이때 링크폴더는 사용자 폴더내에 동일한 이름의 폴더가..
-
ASP.NET Generated Image 컨트롤ASP.NET 2008. 9. 5. 10:08
얼마 전 한 신입사원이 데이터베이스에 저장되어 있는 BLOB형태의 이미지 파일을 ASP.NET 웹페이지로 출력하기 위해서, 데이터베이스에서 byte배열을 얻어서 하드디스크에 GUID형태의 이름을 가지는 이미지로 저장한 다음 그 파일을 출력하고, 이미지를 생성할때 마다 파일이 생성될 폴더에 파일 중 생성시간이 하루 이상 지난파일을 삭제하는 로직으로 짜고 있는것을 본적이 있었습니다. 검색엔진에 검색 한번으로 엄청난 양의 레퍼런스 코드가 쏟아져 나올텐데도, 자기 나름대로 계획을 세우고 꿋꿋하게 그걸 구현해 나가는 모습을 보고 얘한테 뭐라고해야하나 말아야하나 고민을 했었더랬습니다. 당시에는 핸들러파일(ashx)파일에서 이미지를 출력하도록하는 방법을 알려주고 끝냈었는데, 오늘 보니 Micorosft에서 ASP.N..
-
운영체제에 등록되지 않은 폰트 사용하기C# 2008. 8. 25. 11:54
응용 프로그램을 작성하다 보면 운영체제의 기본폰트로 등록되지 않은 폰트를 사용해야 할 경우가 있습니다. 이 경우 보통은 설치프로그램에서 폰트를 운영체제에 등록하여 사용하죠. 하지만, 시스템상에 폰트를 많이 설치하면 그만큼 시스템이 평소에 로드하고 있어야 하는 폰트가 많아 지므로 시스템이 느려지게 될 것이고, 자주 사용하지 않는 폰트파일이라면 굿이 등록시켜 사용할 필요가 없습니다. 그렇다면, 폰트파일을 운영체제에 등록하지 않고, 필요 할때만 잠시 로드하여 사용하면 좋겠죠? 이 부분을 지원을 지원하기 위해서 .NET Framework 에서는 System.Drawing.Text.PrivateFontCollection 클래스를 제공하고 있습니다. PrivateFontCollection 클래스는 운영체제에 등록된..
-
Visual Studio 2008 한글판에서 ASP.NET MVC 프로젝트 생성ASP.NET 2008. 8. 23. 03:45
집에 있는 데스크톱 컴퓨터에 문제가 생겨서 포맷을 하고 재설치중입니다. 운영체제 및 업데이트는 대충 다 이뤄진듯 하고 이제 Visual Studio를 설치하고 개발환경을 셋팅하고 있는데요. 그동안은 집에서는 영문버전 Visual Studio를 사용했었는데 이번에는 아무리 찾아도 영문판 Visual Studio 설치DVD가 보이질 않아서 어쩔수 없이 한글판 Visual Studio를 설치하였습니다. 얼마 전 Visual Studio 2008 SP1의 경우에는 이미 한글판이 출시되어 있어서 설치를 했습니다. 하지만, 이번 SP1의 경우에는 ASP.NET MVC 는 포함되지 않아서 아직 ASP.NET MVC의 경우에는 아직 한글판이 존재하지 않습니다. 물론, 현재 배포버전인 MVC Preview 3이후에 Pr..