Programming/c# & winform2020. 10. 22. 15:10

iTextSharp

pdf 파일에 직접 내용을 만들어 넣기(Paragraph 등으로)

[링크 : http://www.csharpstudy.com/Practical/Prac-pdf.aspx]

[링크 : https://stackoverflow.com/questions/11307749/creating-multiple-page-pdf-using-itextsharp]

  [링크 : https://www.nuget.org/packages/iTextSharp/]

 

iTextSharp에 HTML 내용을 넣기

[링크 : https://jujun.tistory.com/118]

 

iTextSharp

Docuement.NewPage()

한페이지 추가하기

[링크 : https://stackoverflow.com/questions/4124106/add-a-page-to-pdf-document-using-itextsharp]

 

 

        private void button2_Click(object sender, EventArgs e)
        {

            Document doc = new Document(iTextSharp.text.PageSize.A4);
            PdfWriter wr = PdfWriter.GetInstance(doc, new FileStream("simple.pdf", FileMode.Create));

            doc.Open();

            doc.AddTitle("Simple PDF 생성 예제");
            doc.AddAuthor("Alex");
            doc.AddCreationDate();

            // 영문쓰기
            doc.Add(new Paragraph("English : How are you?"));
            doc.Add(new Paragraph("국문: 어때요?"));

            doc.NewPage();

            StyleSheet styles = new StyleSheet();
            HtmlWorker hw = new HtmlWorker(doc);

            String html_data = System.IO.File.ReadAllText(@"d:\test.html");
            hw.Parse(new StringReader(html_data));

            doc.NewPage();

            String html_data2 = System.IO.File.ReadAllText(@"d:\test2.html");
            hw.Parse(new StringReader(html_data2));

            hw.EndDocument();
            hw.Close();

            doc.Close();
        }

---

 

 

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;

using iText.Html2pdf;
using iText.Html2pdf.Attach.Impl;
using iText.Layout.Font;

        private void button2_Click(object sender, EventArgs e)
        {
            String DEST = "hello_world.pdf";

            FileInfo file = new FileInfo(DEST);
            file.Directory.Create();

            PdfWriter writer = new PdfWriter(DEST);
            PdfDocument pdf = new PdfDocument(writer);
            Document document = new Document(pdf);
            document.Add(new Paragraph("Hello World!"));

            HtmlConverter.ConvertToPdf(new FileStream(@"d:\test2.html", FileMode.Open), pdf);
            document.Close();
        }

[링크 : https://kb.itextpdf.com/home/it7kb/examples/pdfhtml-accessible-pdf-creation]

 

[링크 : https://github.com/itext/itextsharp]

[링크 : https://github.com/itext/itext7-dotnet]

 

+

document.Add(new AreaBreak());

[링크 : https://stackoverflow.com/questions/17198337/how-can-i-make-a-page-break-using-itext]

[링크 : https://www.tutorialspoint.com/itext/itext_adding_areabreak.htm]

 

 

+

ConverToPdf() 메소드는 호출 이후 document를 close() 해버린다고.. -_-

The convertToPdf()/ConvertToPdf() methods create a complete PDF file. Any File, FileInfo, OutputStream, PdfWriter (Java/.NET), or PdfDocument (Java/.NET) that is passed to the convertToPdf()/ConvertToPdf() method is closed once the input is parsed and converted to PDF. This might not always be what you want.

In some cases, you want to add some extra information to the Document(Java/.NET), or maybe you don't want to convert the HTML to a PDF file, but to a series of iText objects you can use for a different purpose. That's what the convertToDocument()/ConvertToDocument() and convertToElements()/ConvertToElements() methods are about.

In the C01E07_HelloWorld.java example, we convert our Hello World HTML to a Document (Java/.NET) because we want to add some extra content after we've done parsing the HTML:

[링크 : https://kb.itextpdf.com/.../itext-7-converting-html-to-pdf-with-pdfhtml/chapter-1-hello-html-to-pdf]

'Programming > c# & winform' 카테고리의 다른 글

pdfsharp , migradoc  (0) 2020.10.22
itext7  (0) 2020.10.22
c# print 하기  (0) 2020.10.19
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 19. 14:02

 

[링크 : https://stackoverflow.com/questions/6103705/]

[링크 : https://www.nuget.org/packages/PdfiumViewer/] apache 2.0 license

[링크 : https://www.nuget.org/packages/PdfiumViewer.Native.x86_64.v8-xfa/] apache 2.0 license

 

+

[링크 : https://stackoverflow.com/questions/48740924]

 

[링크 : https://stackoverflow.com/questions/57415902]

  [링크 : https://www.nuget.org/packages/HtmlConvert]

  [링크 : https://www.nuget.org/packages/DynamicPDF/]

    [링크 : www.dynamicpdf.com/Merge-PDF-.NET.aspx]

  [링크 : https://www.codeproject.com/Articles/28283/Simple-NET-PDF-Merger] ??

'Programming > c# & winform' 카테고리의 다른 글

itext7  (0) 2020.10.22
c# pdf itextsharp -> itext7  (0) 2020.10.22
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 19. 12:36

일단은 프린터 나열부터 시작

        private void button1_Click(object sender, EventArgs e)
        {
            PrintQueue printQueue = null;
            LocalPrintServer localPrintServer = new LocalPrintServer();
            PrintQueueCollection localPrinterCollection = localPrintServer.GetPrintQueues();

            //Console.WriteLine("These are your shared, local print queues:\n\n");

            foreach (PrintQueue printer in localPrinterCollection)
            {
                //Console.WriteLine("\tThe shared printer " + printer.Name + " is located at " + printer.Location + "\n");
                textBox1.Text += printer.Name + "@" + printer.Location + "\r\n";
            }
            //Console.WriteLine("Press enter to continue.");
            //Console.ReadLine();
            //System.Collections.IEnumerator localPrinterEnumerator = localPrinterCollection.GetEnumerator();

        }

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/desktop/wpf/advanced/how-to-enumerate-a-subset-of-print-queues?view=netframeworkdesktop-4.8]

'Programming > c# & winform' 카테고리의 다른 글

c# pdf itextsharp -> itext7  (0) 2020.10.22
c# print 하기  (0) 2020.10.19
c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 15. 18:24

1번 디스플레이가 0번 스크린으로 인식된다.

 

this.Location = Screen.AllScreens[0].WorkingArea.Location;

[링크 : https://stackoverflow.com/questions/57288060/showing-winforms-on-dual-screen-setup]

 

 

+

물리적으로 가장 왼쪽 부터 하고 싶은 경우에는 어떻게 해야하려나...

'Programming > c# & winform' 카테고리의 다른 글

c# print 하기  (0) 2020.10.19
c# printer 사용하기 - printer enumeration  (0) 2020.10.19
c# dialog 전체화면  (0) 2020.10.15
c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
c# webBrowser css 적용하기...?  (0) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 15. 18:23

속성에서 WindowState를

Normal에서 Maximized로 하면 전체 화면 모드로 된다.

 

[링크 : https://stackoverflow.com/questions/505167/]

[링크 : https://stackoverflow.com/questions/2272019/]

[링크 : https://outshine90.tistory.com/entry/폼-FullScreen]

Posted by 구차니
Programming/c# & winform2020. 10. 15. 17:31

InitializeComponent() 직후에 호출하니 안 먹네.. ㅠㅠ

 

Button.PerformClick()

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.button.performclick?view=netcore-3.1]

[링크 : https://iamadeveloper.tistory.com/180]

 

 

+

2020.10.19

번개모양을 누르면 Event로 바뀌는데 거기서 Load에 추가해주면 된다.

 

[링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.form.load?view=netcore-3.1]

[링크 : https://stackoverflow.com/questions/218732/how-do-i-execute-code-after-a-form-has-loaded]

 

+

다이얼로그 비어있는데 더블 클릭하니 Form1_load() 함수가 생기면서 Load 이벤트가 등록된다.

'Programming > c# & winform' 카테고리의 다른 글

c# dialog dual screen  (0) 2020.10.15
c# dialog 전체화면  (0) 2020.10.15
c# webBrowser css 적용하기...?  (0) 2020.10.15
c# webBrowser control/class IE 버전  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 15. 16:39

DOM을 이용해서 head 하위에 style element를 생성하고 박아 넣는것이 보이는데..

innerHTML 처럼 특정 element 안의 내용을 한번에 갈아치우는 것도 방법이 되려나?

 

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement styleEl = webBrowser1.Document.CreateElement("style");
IHTMLStyleElement element = (IHTMLStyleElement)styleEl.DomElement;
IHTMLStyleSheetElement styleSheet = element.styleSheet;
styleSheet.cssText = @"h1 { color: red }";
head.AppendChild(styleEl);

[링크 : https://stackoverflow.com/questions/5496549/how-to-inject-css-in-webbrowser-control]

[링크 : https://social.msdn.microsoft.com/Forums/vstudio/en-US/74e2a36a-a69b-4ea9-9242-d615968e3181/...al]

'Programming > c# & winform' 카테고리의 다른 글

c# dialog 전체화면  (0) 2020.10.15
c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
c# webBrowser control/class IE 버전  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
c# 파일 읽어서 string에 넣기  (0) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 15. 15:58

기본적으로 IE7으로 작동하기 때문에 css 등이 적용되지 않는 문제가 있다고 한다.

(구버전으로 맞추면 문제 될 건 없을수도 있지만)

 

[링크 : https://stackoverflow.com/questions/18576963/webbrowser-control-no-css-applied]

  [링크 : http://ssamlaeng.blogspot.com/2015/08/c-webbrowser-control-css.html]

  [링크 : https://www.pedautreppe.com/post/How-can-we-render-CSS3-in-a-WebBrowser-Control-.aspx]

 

win10에서 돌리니(2020년 9월 버전) 0x2710 / IE10으로 인식하는 것으로 보인다.

 

[링크 : https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)#browser-emulation]

[링크 : ]

[링크 : ]

'Programming > c# & winform' 카테고리의 다른 글

c# winform / 버튼클릭 이벤트 호출하기  (2) 2020.10.15
c# webBrowser css 적용하기...?  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
c# 파일 읽어서 string에 넣기  (0) 2020.10.15
csharp webbrowser ctrl  (0) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 15. 15:10

urlrewriter를 이용해서

로컬 파일 + 생성된 html 파일을 원하는대로 표기가 가능하다.

다만 webBrowser control 에서 f5 누르면 날아가버리니 키를 막아야 할 듯?

 

[링크 : https://www.cyotek.com/blog/writing-custom-markdig-extensions]

[링크 : https://github.com/arthurrump/MarkdigExtensions]

'Programming > c# & winform' 카테고리의 다른 글

c# webBrowser css 적용하기...?  (0) 2020.10.15
c# webBrowser control/class IE 버전  (0) 2020.10.15
c# 파일 읽어서 string에 넣기  (0) 2020.10.15
csharp webbrowser ctrl  (0) 2020.10.15
markdown c#용 라이브러리  (0) 2020.10.15
Posted by 구차니
Programming/c# & winform2020. 10. 15. 14:29

와 c# 만세

이 복합한 걸 한줄에 끝내다니

 

string text = System.IO.File.ReadAllText(@"C:\Users\Public\TestFolder\WriteText.txt");

[링크 : https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/file-system/how-to-read-from-a-text-file]

'Programming > c# & winform' 카테고리의 다른 글

c# webBrowser control/class IE 버전  (0) 2020.10.15
c# webBrowser + markdig  (0) 2020.10.15
csharp webbrowser ctrl  (0) 2020.10.15
markdown c#용 라이브러리  (0) 2020.10.15
c# nullable annotation context와 attribute?  (0) 2020.10.14
Posted by 구차니