private static void ShowDescription(HPdfPage page, float x, float y, string text) { string buf; page.MoveTo(x, y - 10); page.LineTo(x, y + 10); page.MoveTo(x - 10, y); page.LineTo(x + 10, y); page.Stroke(); page.SetFontAndSize(page.GetCurrentFont(), 8); page.SetRGBFill(0, 0, 0); page.BeginText(); buf = "(x=" + x + ",y=" + y + ")"; page.MoveTextPos(x - page.TextWidth(buf) - 5, y - 10); page.ShowText(buf); page.EndText(); page.BeginText(); page.MoveTextPos(x - 20, y - 25); page.ShowText(text); page.EndText(); }
private static void DrawRect(HPdfPage page, float x, float y, string label) { page.BeginText(); page.MoveTextPos(x, y - 10); page.ShowText(label); page.EndText(); page.Rectangle(x, y - 40, 220, 25); }
private static void DrawLine2(HPdfPage page, float x, float y, string label) { page.BeginText(); page.MoveTextPos(x, y); page.ShowText(label); page.EndText(); page.MoveTo(x + 30, y - 25); page.LineTo(x + 160, y - 25); page.Stroke(); }
private static void PrintPage(HPdfPage page, int page_num) { page.SetWidth(800); page.SetHeight(800); page.BeginText(); page.MoveTextPos(30, 740); string buf = "Page:" + page_num; page.ShowText(buf); page.EndText(); }
private static void ShowDescription(HPdfPage page, float x, float y, string text) { var fsize = page.GetCurrentFontSize(); var font = page.GetCurrentFont(); var c = page.GetRGBFill(); page.BeginText(); page.SetRGBFill(0, 0, 0); page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_FILL); page.SetFontAndSize(font, 10); page.TextOut(x, y - 12, text); page.EndText(); page.SetFontAndSize(font, fsize); page.SetRGBFill(c.r, c.g, c.b); }
public static void Main() { string owner_passwd = "owner"; string user_passwd = ""; string text = "User cannot print and copy this document."; Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); try { HPdfDoc pdf = new HPdfDoc(); /* create default-font */ HPdfFont font = pdf.GetFont("Helvetica", null); /* add a new page object. */ HPdfPage page = pdf.AddPage(); page.SetSize(HPdfPageSizes.HPDF_PAGE_SIZE_B5, HPdfPageDirection.HPDF_PAGE_LANDSCAPE); page.BeginText(); page.SetFontAndSize(font, 20); float tw = page.TextWidth(text); page.MoveTextPos((page.GetWidth() - tw) / 2, (page.GetHeight() - 20) / 2); page.ShowText(text); page.EndText(); pdf.SetPassword(owner_passwd, user_passwd); pdf.SetPermission(HPdfDoc.HPDF_ENABLE_READ); /* use 128 bit revision 3 encryption */ pdf.SetEncryptionMode(HPdfEncryptMode.HPDF_ENCRYPT_R3, 16); /* save the document to a file */ pdf.SaveToFile("Permission.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
public static void Main() { string owner_passwd = "owner"; string user_passwd = "user"; string text = "This is an encrypt document example."; Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); try { HPdfDoc pdf = new HPdfDoc(); /* create default-font */ HPdfFont font = pdf.GetFont("Helvetica", null); /* add a new page object. */ HPdfPage page = pdf.AddPage(); page.SetSize(HPdfPageSizes.HPDF_PAGE_SIZE_B5, HPdfPageDirection.HPDF_PAGE_LANDSCAPE); page.BeginText(); page.SetFontAndSize(font, 20); float tw = page.TextWidth(text); page.MoveTextPos((page.GetWidth() - tw) / 2, (page.GetHeight() - 20) / 2); page.ShowText(text); page.EndText(); pdf.SetPassword(owner_passwd, user_passwd); /* save the document to a file */ pdf.SaveToFile("Encryption.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
public static void Main() { Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); byte[] raw_image_data = new byte[] { 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xf0, 0xf3, 0xf3, 0xff, 0xe0, 0xf3, 0xf3, 0xff, 0xc0, 0xf3, 0xf3, 0xff, 0x80, 0xf3, 0x33, 0xff, 0x00, 0xf3, 0x33, 0xfe, 0x00, 0xf3, 0x33, 0xfc, 0x00, 0xf8, 0x07, 0xf8, 0x00, 0xf8, 0x07, 0xf0, 0x00, 0xfc, 0xcf, 0xe0, 0x00, 0xfc, 0xcf, 0xc0, 0x00, 0xff, 0xff, 0x80, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xf8, 0x0f, 0xe0, 0xff, 0xf0, 0x0f, 0xe0, 0xff, 0xe0, 0x0c, 0x30, 0xff, 0xc0, 0x0c, 0x30, 0xff, 0x80, 0x0f, 0xe0, 0xff, 0x00, 0x0f, 0xe0, 0xfe, 0x00, 0x0c, 0x30, 0xfc, 0x00, 0x0c, 0x30, 0xf8, 0x00, 0x0f, 0xe0, 0xf0, 0x00, 0x0f, 0xe0, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; try { HPdfDoc pdf = new HPdfDoc(); pdf.SetCompressionMode(HPdfDoc.HPDF_COMP_ALL); /* create default-font */ HPdfFont font = pdf.GetFont("Helvetica", null); /* add a new page object. */ HPdfPage page = pdf.AddPage(); page.SetWidth(172); page.SetHeight(80); page.BeginText(); page.SetFontAndSize(font, 20); page.MoveTextPos(220, page.GetHeight() - 70); page.ShowText("RawImageDemo"); page.EndText(); /* load RGB raw-image file. */ HPdfImage image = pdf.LoadRawImageFromFile("rawimage\\32_32_rgb.dat", 32, 32, HPdfColorSpace.HPDF_CS_DEVICE_RGB); float x = 20; float y = 20; /* Draw image to the canvas. (normal-mode with actual size.)*/ page.DrawImage(image, x, y, 32, 32); /* load GrayScale raw-image file. */ image = pdf.LoadRawImageFromFile("rawimage\\32_32_gray.dat", 32, 32, HPdfColorSpace.HPDF_CS_DEVICE_GRAY); x = 70; y = 20; /* Draw image to the canvas. (normal-mode with actual size.)*/ page.DrawImage(image, x, y, 32, 32); /* load GrayScale raw-image (1bit) file from memory. */ image = pdf.LoadRawImageFromMem(raw_image_data, 32, 32, HPdfColorSpace.HPDF_CS_DEVICE_GRAY, 1); x = 120; y = 20; /* Draw image to the canvas. (normal-mode with actual size.)*/ page.DrawImage(image, x, y, 32, 32); /* save the document to a file */ pdf.SaveToFile("RawImageDemo.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
public static void Main() { Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); try { HPdfDoc pdf = new HPdfDoc(); pdf.SetCompressionMode(HPdfDoc.HPDF_COMP_ALL); /* create default-font */ HPdfFont font = pdf.GetFont("Helvetica", null); /* add a new page object. */ HPdfPage page = pdf.AddPage(); page.SetWidth(550); page.SetHeight(500); HPdfDestination dst = page.CreateDestination(); dst.SetXYZ(0, page.GetHeight(), 1); pdf.SetOpenAction(dst); page.BeginText(); page.SetFontAndSize(font, 20); page.MoveTextPos(220, page.GetHeight() - 70); page.ShowText("ImageDemo"); page.EndText(); /* load image file. */ HPdfImage image = pdf.LoadPngImageFromFile("pngsuite\\basn3p02.png"); /* image1 is masked by image2. */ HPdfImage image1 = pdf.LoadPngImageFromFile("pngsuite\\basn3p02.png"); /* image2 is a mask image. */ HPdfImage image2 = pdf.LoadPngImageFromFile("pngsuite\\basn0g01.png"); /* image3 is a RGB-color image. we use this image for color-mask * demo. */ HPdfImage image3 = pdf.LoadPngImageFromFile("pngsuite\\maskimage.png"); float iw = image.GetWidth(); float ih = image.GetHeight(); page.SetLineWidth(0.5f); float x = 100; float y = page.GetHeight() - 150; /* Draw image to the canvas. (normal-mode with actual size.)*/ page.DrawImage(image, x, y, iw, ih); ShowDescription(page, x, y, "Actual Size"); x += 150; /* Scalling image (X direction) */ page.DrawImage(image, x, y, iw * 1.5f, ih); ShowDescription(page, x, y, "Scalling image (X direction)"); x += 150; /* Scalling image (Y direction). */ page.DrawImage(image, x, y, iw, ih * 1.5f); ShowDescription(page, x, y, "Scalling image (Y direction)"); x = 100; y -= 120; /* Skewing image. */ float angle1 = 10; float angle2 = 20; float rad1 = angle1 / 180 * 3.141592f; float rad2 = angle2 / 180 * 3.141592f; page.GSave(); page.Concat(iw, (float)Math.Tan(rad1) * iw, (float)Math.Tan(rad2) * ih, ih, x, y); page.ExecuteXObject(image); page.GRestore(); ShowDescription(page, x, y, "Skewing image"); x += 150; /* Rotating image */ float angle = 30; /* rotation of 30 degrees. */ float rad = angle / 180 * 3.141592f; /* Calcurate the radian value. */ page.GSave(); page.Concat((float)(iw * Math.Cos(rad)), (float)(iw * Math.Sin(rad)), (float)(ih * -Math.Sin(rad)), (float)(ih * Math.Cos(rad)), x, y); page.ExecuteXObject(image); page.GRestore(); ShowDescription(page, x, y, "Rotating image"); x += 150; /* draw masked image. */ /* Set image2 to the mask image of image1 */ image1.SetMaskImage(image2); page.SetRGBFill(0, 0, 0); page.BeginText(); page.MoveTextPos(x - 6, y + 14); page.ShowText("MASKMASK"); page.EndText(); page.DrawImage(image1, x - 3, y - 3, iw + 6, ih + 6); ShowDescription(page, x, y, "masked image"); x = 100; y -= 120; /* color mask. */ page.SetRGBFill(0, 0, 0); page.BeginText(); page.MoveTextPos(x - 6, y + 14); page.ShowText("MASKMASK"); page.EndText(); image3.SetColorMask(0, 255, 0, 0, 0, 255); page.DrawImage(image3, x, y, iw, ih); ShowDescription(page, x, y, "Color Mask"); /* save the document to a file */ pdf.SaveToFile("ImageDemo.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
public static void Main() { Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); try { const string page_title = "LineDemo"; HPdfDoc pdf = new HPdfDoc(); /* create default-font */ HPdfFont font = pdf.GetFont("Helvetica", null); /* add a new page object. */ HPdfPage page = pdf.AddPage(); /* print the lines of the page. */ page.SetLineWidth(1); page.Rectangle(50, 50, page.GetWidth() - 100, page.GetHeight() - 110); page.Stroke(); /* print the title of the page (with positioning center). */ page.SetFontAndSize(font, 24); float tw = page.TextWidth(page_title); page.BeginText(); page.MoveTextPos((page.GetWidth() - tw) / 2, page.GetHeight() - 50); page.ShowText(page_title); page.EndText(); page.SetFontAndSize(font, 10); /* Draw verious widths of lines. */ page.SetLineWidth(0); DrawLine(page, 60, 770, "line width = 0"); page.SetLineWidth(1.0f); DrawLine(page, 60, 740, "line width = 1.0"); page.SetLineWidth(2.0f); DrawLine(page, 60, 710, "line width = 2.0"); /* Line dash pattern */ ushort[] dash_mode1 = new ushort[] { 3 }; ushort[] dash_mode2 = new ushort[] { 3, 7 }; ushort[] dash_mode3 = new ushort[] { 8, 7, 2, 7 }; page.SetLineWidth(1.0f); page.SetDash(dash_mode1, 1); DrawLine(page, 60, 680, "dash_ptn=[3], phase=1 -- 2 on, 3 off, 3 on..."); Console.Error.WriteLine("001"); page.SetDash(dash_mode2, 2); DrawLine(page, 60, 650, "dash_ptn=[7, 3], phase=2 -- 5 on 3 off, 7 on,..."); page.SetDash(dash_mode3, 0); DrawLine(page, 60, 620, "dash_ptn=[8, 7, 2, 7], phase=0"); page.SetDash(null, 0); page.SetLineWidth(30); page.SetRGBStroke(0.0f, 0.5f, 0.0f); /* Line Cap Style */ page.SetLineCap(HPdfLineCap.HPDF_BUTT_END); DrawLine2(page, 60, 570, "HPDF_BUTT_END"); page.SetLineCap(HPdfLineCap.HPDF_ROUND_END); DrawLine2(page, 60, 505, "HPDF_ROUND_END"); page.SetLineCap(HPdfLineCap.HPDF_PROJECTING_SQUARE_END); DrawLine2(page, 60, 440, "HPDF_PROJECTING_SQUARE_END"); /* Line Join Style */ page.SetLineWidth(30); page.SetRGBStroke(0.0f, 0.0f, 0.5f); page.SetLineJoin(HPdfLineJoin.HPDF_MITER_JOIN); page.MoveTo(120, 300); page.LineTo(160, 340); page.LineTo(200, 300); page.Stroke(); page.BeginText(); page.MoveTextPos(60, 360); page.ShowText("HPDF_MITER_JOIN"); page.EndText(); page.SetLineJoin(HPdfLineJoin.HPDF_ROUND_JOIN); page.MoveTo(120, 195); page.LineTo(160, 235); page.LineTo(200, 195); page.Stroke(); page.BeginText(); page.MoveTextPos(60, 255); page.ShowText("HPDF_ROUND_JOIN"); page.EndText(); page.SetLineJoin(HPdfLineJoin.HPDF_BEVEL_JOIN); page.MoveTo(120, 90); page.LineTo(160, 130); page.LineTo(200, 90); page.Stroke(); page.BeginText(); page.MoveTextPos(60, 150); page.ShowText("HPDF_BEVEL_JOIN"); page.EndText(); /* Draw Rectangle */ page.SetLineWidth(2); page.SetRGBStroke(0, 0, 0); page.SetRGBFill(0.75f, 0.0f, 0.0f); DrawRect(page, 300, 770, "Stroke"); page.Stroke(); DrawRect(page, 300, 720, "Fill"); page.Fill(); DrawRect(page, 300, 670, "Fill then Stroke"); page.FillStroke(); /* Clip Rect */ page.GSave(); /* Save the current graphic state */ DrawRect(page, 300, 620, "Clip Rectangle"); page.Clip(); page.Stroke(); page.SetFontAndSize(font, 13); page.BeginText(); page.MoveTextPos(290, 600); page.SetTextLeading(12); page.ShowText("Clip Clip Clip Clip Clip Clipi Clip Clip Clip"); page.ShowTextNextLine("Clip Clip Clip Clip Clip Clip Clip Clip Clip"); page.ShowTextNextLine("Clip Clip Clip Clip Clip Clip Clip Clip Clip"); page.EndText(); page.GRestore(); /* Curve Example(CurveTo2) */ float x = 330; float y = 440; float x1 = 430; float y1 = 530; float x2 = 480; float y2 = 470; float x3 = 480; float y3 = 90; page.SetRGBFill(0, 0, 0); page.BeginText(); page.MoveTextPos(300, 540); page.ShowText("CurveTo2(x1, y1, x2. y2)"); page.EndText(); page.BeginText(); page.MoveTextPos(x + 5, y - 5); page.ShowText("Current point"); page.MoveTextPos(x1 - x, y1 - y); page.ShowText("(x1, y1)"); page.MoveTextPos(x2 - x1, y2 - y1); page.ShowText("(x2, y2)"); page.EndText(); page.SetDash(dash_mode1, 0); page.SetLineWidth(0.5f); page.MoveTo(x1, y1); page.LineTo(x2, y2); page.Stroke(); page.SetDash(null, 0); page.SetLineWidth(1.5f); page.MoveTo(x, y); page.CurveTo2(x1, y1, x2, y2); page.Stroke(); /* Curve Example(CurveTo3) */ y -= 150; y1 -= 150; y2 -= 150; page.BeginText(); page.MoveTextPos(300, 390); page.ShowText("CurveTo3(x1, y1, x2. y2)"); page.EndText(); page.BeginText(); page.MoveTextPos(x + 5, y - 5); page.ShowText("Current point"); page.MoveTextPos(x1 - x, y1 - y); page.ShowText("(x1, y1)"); page.MoveTextPos(x2 - x1, y2 - y1); page.ShowText("(x2, y2)"); page.EndText(); page.SetDash(dash_mode1, 0); page.SetLineWidth(0.5f); page.MoveTo(x, y); page.LineTo(x1, y1); page.Stroke(); page.SetDash(null, 0); page.SetLineWidth(1.5f); page.MoveTo(x, y); page.CurveTo3(x1, y1, x2, y2); page.Stroke(); /* Curve Example(CurveTo) */ y -= 150; y1 -= 160; y2 -= 130; x2 += 10; page.BeginText(); page.MoveTextPos(300, 240); page.ShowText("CurveTo(x1, y1, x2. y2, x3, y3)"); page.EndText(); page.BeginText(); page.MoveTextPos(x + 5, y - 5); page.ShowText("Current point"); page.MoveTextPos(x1 - x, y1 - y); page.ShowText("(x1, y1)"); page.MoveTextPos(x2 - x1, y2 - y1); page.ShowText("(x2, y2)"); page.MoveTextPos(x3 - x2, y3 - y2); page.ShowText("(x3, y3)"); page.EndText(); page.SetDash(dash_mode1, 0); page.SetLineWidth(0.5f); page.MoveTo(x, y); page.LineTo(x1, y1); page.Stroke(); page.MoveTo(x2, y2); page.LineTo(x3, y3); page.Stroke(); page.SetDash(null, 0); page.SetLineWidth(1.5f); page.MoveTo(x, y); page.CurveTo(x1, y1, x2, y2, x3, y3); page.Stroke(); pdf.SaveToFile("LineDemo.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
private static void PrintPage(HPdfPage page, string caption, HPdfFont font, HPdfTransitionStyle type, HPdfPage prev, HPdfPage next) { float r = (float)rand.Next(255) / 255; float g = (float)rand.Next(255) / 255; float b = (float)rand.Next(255) / 255; HPdfRect rect; HPdfDestination dst; HPdfAnnotation annot; page.SetWidth(800); page.SetHeight(600); page.SetRGBFill(r, g, b); page.Rectangle(0, 0, 800, 600); page.Fill(); page.SetRGBFill(1.0f - r, 1.0f - g, 1.0f - b); page.SetFontAndSize(font, 30); page.BeginText(); page.SetTextMatrix(0.8f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f); page.TextOut(50, 530, caption); page.SetTextMatrix(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f); page.SetFontAndSize(font, 20); page.TextOut(55, 300, "Type \"Ctrl+L\" in order to return from full screen mode."); page.EndText(); page.SetSlideShow(type, 5.0f, 1.0f); page.SetFontAndSize(font, 20); if (next != null) { page.BeginText(); page.TextOut(680, 50, "Next=>"); page.EndText(); rect.left = 680; rect.right = 750; rect.top = 70; rect.bottom = 50; dst = next.CreateDestination(); dst.SetFit(); annot = page.CreateLinkAnnot(rect, dst); annot.SetBorderStyle(0, 0, 0); annot.SetHighlightMode(HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX); } if (prev != null) { page.BeginText(); page.TextOut(50, 50, "<=Prev"); page.EndText(); rect.left = 50; rect.right = 110; rect.top = 70; rect.bottom = 50; dst = prev.CreateDestination(); dst.SetFit(); annot = page.CreateLinkAnnot(rect, dst); annot.SetBorderStyle(0, 0, 0); annot.SetHighlightMode(HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX); } }
public static void Main() { string[] font_list = new string[] { "Courier", "Courier-Bold", "Courier-Oblique", "Courier-BoldOblique", "Helvetica", "Helvetica-Bold", "Helvetica-Oblique", "Helvetica-BoldOblique", "Times-Roman", "Times-Bold", "Times-Italic", "Times-BoldItalic", "Symbol", "ZapfDingbats" }; Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); try { const string page_title = "FontDemo"; HPdfDoc pdf = new HPdfDoc(); HPdfPage page = pdf.AddPage(); float height = page.GetHeight(); float width = page.GetWidth(); /* Print the lines of the page. */ page.SetLineWidth(1); page.Rectangle(50, 50, width - 100, height - 110); page.Stroke(); /* Print the title of the page (with positioning center). */ HPdfFont def_font = pdf.GetFont("Helvetica", null); page.SetFontAndSize(def_font, 24); float tw = page.TextWidth(page_title); page.BeginText(); page.TextOut((width - tw) / 2, height - 50, page_title); page.EndText(); /* output subtitle. */ page.BeginText(); page.SetFontAndSize(def_font, 16); page.TextOut(60, height - 80, "<Standerd Type1 fonts samples>"); page.EndText(); page.BeginText(); page.MoveTextPos(60, height - 105); for (int i = 0; i < font_list.Length; i++) { const string samp_text = "abcdefgABCDEFG12345!#$%&+-@?"; HPdfFont font = pdf.GetFont(font_list[i], null); /* print a label of text */ page.SetFontAndSize(def_font, 9); page.ShowText(font_list[i]); page.MoveTextPos(0, -18); /* print a sample text. */ page.SetFontAndSize(font, 20); page.ShowText(samp_text); page.MoveTextPos(0, -20); } page.EndText(); pdf.SaveToFile("FontDemo.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
public static void Main() { Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); try { const int PAGE_HEIGHT = 210; string samp_text = "アメンボ赤いなあいうえお。浮き藻に小エビもおよいでる。"; HPdfFont[] detail_font = new HPdfFont[16]; HPdfDoc pdf = new HPdfDoc(); /*declaration for using Japanese font, encoding. */ pdf.UseJPEncodings(); pdf.UseJPFonts(); detail_font[0] = pdf.GetFont("MS-Mincyo", "90ms-RKSJ-H"); detail_font[1] = pdf.GetFont("MS-Mincyo,Bold", "90ms-RKSJ-H"); detail_font[2] = pdf.GetFont("MS-Mincyo,Italic", "90ms-RKSJ-H"); detail_font[3] = pdf.GetFont("MS-Mincyo,BoldItalic", "90ms-RKSJ-H"); detail_font[4] = pdf.GetFont("MS-PMincyo", "90msp-RKSJ-H"); detail_font[5] = pdf.GetFont("MS-PMincyo,Bold", "90msp-RKSJ-H"); detail_font[6] = pdf.GetFont("MS-PMincyo,Italic", "90msp-RKSJ-H"); detail_font[7] = pdf.GetFont("MS-PMincyo,BoldItalic", "90msp-RKSJ-H"); detail_font[8] = pdf.GetFont("MS-Gothic", "90ms-RKSJ-H"); detail_font[9] = pdf.GetFont("MS-Gothic,Bold", "90ms-RKSJ-H"); detail_font[10] = pdf.GetFont("MS-Gothic,Italic", "90ms-RKSJ-H"); detail_font[11] = pdf.GetFont("MS-Gothic,BoldItalic", "90ms-RKSJ-H"); detail_font[12] = pdf.GetFont("MS-PGothic", "90msp-RKSJ-H"); detail_font[13] = pdf.GetFont("MS-PGothic,Bold", "90msp-RKSJ-H"); detail_font[14] = pdf.GetFont("MS-PGothic,Italic", "90msp-RKSJ-H"); detail_font[15] = pdf.GetFont("MS-PGothic,BoldItalic", "90msp-RKSJ-H"); /*configure pdf-document to be compressed. */ pdf.SetCompressionMode(HPdfDoc.HPDF_COMP_ALL); /*Set page mode to use outlines. */ pdf.SetPageMode(HPdfPageMode.HPDF_PAGE_MODE_USE_OUTLINE); /*create outline root. */ HPdfOutline root = pdf.CreateOutline(null, "JP font demo", null); root.SetOpened(true); for (int i = 0; i <= 15; i++) { float x_pos; /*add a new page object. */ HPdfPage page = pdf.AddPage(); /*create outline entry */ HPdfOutline outline = pdf.CreateOutline(root, detail_font[i].GetFontName(), null); HPdfDestination dst = page.CreateDestination(); outline.SetDestination(dst); HPdfFont title_font = pdf.GetFont("Helvetica", null); page.SetFontAndSize(title_font, 10); page.BeginText(); /*move the position of the text to top of the page. */ page.MoveTextPos(10, 190); page.ShowText(detail_font[i].GetFontName()); page.SetFontAndSize(detail_font[i], 15); page.MoveTextPos(10, -20); page.ShowText("abcdefghijklmnopqrstuvwxyz"); page.MoveTextPos(0, -20); page.ShowText("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); page.MoveTextPos(0, -20); page.ShowText("1234567890"); page.MoveTextPos(0, -20); page.SetFontAndSize(detail_font[i], 10); page.ShowText(samp_text); page.MoveTextPos(0, -18); page.SetFontAndSize(detail_font[i], 16); page.ShowText(samp_text); page.MoveTextPos(0, -27); page.SetFontAndSize(detail_font[i], 23); page.ShowText(samp_text); page.MoveTextPos(0, -36); page.SetFontAndSize(detail_font[i], 30); page.ShowText(samp_text); HPdfPoint p = page.GetCurrentTextPos(); /*finish to print text. */ page.EndText(); page.SetLineWidth(0.5f); x_pos = 20; for (int j = 0; j <= samp_text.Length / 2; j++) { page.MoveTo(x_pos, p.y - 10); page.LineTo(x_pos, p.y - 12); page.Stroke(); x_pos = x_pos + 30; } page.SetWidth(p.x + 20); page.SetHeight(PAGE_HEIGHT); page.MoveTo(10, PAGE_HEIGHT - 25); page.LineTo(p.x + 10, PAGE_HEIGHT - 25); page.Stroke(); page.MoveTo(10, PAGE_HEIGHT - 85); page.LineTo(p.x + 10, PAGE_HEIGHT - 85); page.Stroke(); page.MoveTo(10, p.y - 12); page.LineTo(p.x + 10, p.y - 12); page.Stroke(); } pdf.SaveToFile("JPFontDemo.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }
public static void Main() { const string page_title = "Text Demo"; const string samp_text = "abcdefgABCDEFG123!#$%&+-@?"; const string samp_text2 = "The quick brown fox jumps over the lazy dog."; Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion()); try { HPdfDoc pdf = new HPdfDoc(); pdf.SetCompressionMode(HPdfDoc.HPDF_COMP_ALL); /* create default-font */ HPdfFont font = pdf.GetFont("Helvetica", null); /* add a new page object. */ HPdfPage page = pdf.AddPage(); /*print the title of the page (with positioning center). */ page.SetFontAndSize(font, 24); float tw = page.TextWidth(page_title); page.BeginText(); page.TextOut((page.GetWidth() - tw) / 2, page.GetHeight() - 50, page_title); page.EndText(); page.BeginText(); page.MoveTextPos(60, page.GetHeight() - 60); /* * font size */ float fsize = 8; while (fsize < 60) { /* set style and size of font. */ page.SetFontAndSize(font, fsize); /* set the position of the text. */ page.MoveTextPos(0, -5 - fsize); /* measure the number of characters which included in the page. */ uint tlen = page.MeasureText(samp_text, page.GetWidth() - 120, false); page.ShowText(samp_text.Substring(0, (int)tlen)); /* print the description. */ page.MoveTextPos(0, -10); page.SetFontAndSize(font, 8); page.ShowText("Fontsize=" + fsize); fsize *= 1.5f; } /* * font color */ page.SetFontAndSize(font, 8); page.MoveTextPos(0, -30); page.ShowText("Font color"); page.SetFontAndSize(font, 18); page.MoveTextPos(0, -20); int len = samp_text.Length; for (int i = 0; i < len; i++) { string buf; float r = (float)i / (float)len; float g = 1 - ((float)i / (float)len); buf = samp_text.Substring(i, 1); page.SetRGBFill(r, g, 0); page.ShowText(buf); } page.MoveTextPos(0, -25); for (int i = 0; i < len; i++) { string buf; float r = (float)i / (float)len; float b = 1 - ((float)i / (float)len); buf = samp_text.Substring(i, 1); page.SetRGBFill(r, 0, b); page.ShowText(buf); } page.MoveTextPos(0, -25); for (int i = 0; i < len; i++) { string buf; float b = (float)i / (float)len; float g = 1 - ((float)i / (float)len); buf = samp_text.Substring(i, 1); page.SetRGBFill(0, g, b); page.ShowText(buf); } page.EndText(); int ypos = 450; /* * Font rendering mode */ page.SetFontAndSize(font, 32); page.SetRGBFill(0.5f, 0.5f, 0); page.SetLineWidth(1.5f); /* PDF_FILL */ ShowDescription(page, 60, ypos, "RenderingMode=PDF_FILL"); page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_FILL); page.BeginText(); page.TextOut(60, ypos, "ABCabc123"); page.EndText(); /*PDF_STROKE */ ShowDescription(page, 60, ypos - 50, "RenderingMode=PDF_STROKE"); page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_STROKE); page.BeginText(); page.TextOut(60, ypos - 50, "ABCabc123"); page.EndText(); /*PDF_FILL_THEN_STROKE */ ShowDescription(page, 60, ypos - 100, "RenderingMode=PDF_FILL_THEN_STROKE"); page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_FILL_THEN_STROKE); page.BeginText(); page.TextOut(60, ypos - 100, "ABCabc123"); page.EndText(); /*PDF_FILL_CLIPPING */ ShowDescription(page, 60, ypos - 150, "RenderingMode=PDF_FILL_CLIPPING"); page.GSave(); page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_FILL_CLIPPING); page.BeginText(); page.TextOut(60, ypos - 150, "ABCabc123"); page.EndText(); ShowStripePattern(page, 60, ypos - 150); page.GRestore(); /*PDF_STROKE_CLIPPING */ ShowDescription(page, 60, ypos - 200, "RenderingMode=PDF_STROKE_CLIPPING"); page.GSave(); page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_STROKE_CLIPPING); page.BeginText(); page.TextOut(60, ypos - 200, "ABCabc123"); page.EndText(); ShowStripePattern(page, 60, ypos - 200); page.GRestore(); /*PDF_FILL_STROKE_CLIPPING */ ShowDescription(page, 60, ypos - 250, "RenderingMode=PDF_FILL_STROKE_CLIPPING"); page.GSave(); page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_FILL_STROKE_CLIPPING); page.BeginText(); page.TextOut(60, ypos - 250, "ABCabc123"); page.EndText(); ShowStripePattern(page, 60, ypos - 250); page.GRestore(); /*Reset text attributes */ page.SetTextRenderingMode(HPdfTextRenderingMode.HPDF_FILL); page.SetRGBFill(0, 0, 0); page.SetFontAndSize(font, 30); /* * Rotating text */ float angle1 = 30; /* A rotation of 30 degrees. */ float rad1 = angle1 / 180 * 3.141592f; /* Calcurate the radian value. */ ShowDescription(page, 320, ypos - 60, "Rotating text"); page.BeginText(); page.SetTextMatrix((float)Math.Cos(rad1), (float)Math.Sin(rad1), -(float)Math.Sin(rad1), (float)Math.Cos(rad1), 330, ypos - 60); page.ShowText("ABCabc123"); page.EndText(); /* * Skewing text. */ ShowDescription(page, 320, ypos - 120, "Skewing text"); page.BeginText(); angle1 = 10; float angle2 = 20; rad1 = angle1 / 180 * 3.141592f; float rad2 = angle2 / 180 * 3.141592f; page.SetTextMatrix(1, (float)Math.Tan(rad1), (float)Math.Tan(rad2), 1, 320, ypos - 120); page.ShowText("ABCabc123"); page.EndText(); /* * scaling text (X direction) */ ShowDescription(page, 320, ypos - 175, "Scaling text (X direction)"); page.BeginText(); page.SetTextMatrix(1.5f, 0, 0, 1, 320, ypos - 175); page.ShowText("ABCabc12"); page.EndText(); /* * scaling text (Y direction) */ ShowDescription(page, 320, ypos - 250, "Scaling text (Y direction)"); page.BeginText(); page.SetTextMatrix(1, 0, 0, 2, 320, ypos - 250); page.ShowText("ABCabc123"); page.EndText(); /* * char spacing, word spacing */ ShowDescription(page, 60, 140, "char-spacing 0"); ShowDescription(page, 60, 100, "char-spacing 1.5"); ShowDescription(page, 60, 60, "char-spacing 1.5, word-spacing 2.5"); page.SetFontAndSize(font, 20); page.SetRGBFill(0.1f, 0.3f, 0.1f); /*char-spacing 0 */ page.BeginText(); page.TextOut(60, 140, samp_text2); page.EndText(); /*char-spacing 1.5 */ page.SetCharSpace(1.5f); page.BeginText(); page.TextOut(60, 100, samp_text2); page.EndText(); /*char-spacing 1.5, word-spacing 3.5 */ page.SetWordSpace(2.5f); page.BeginText(); page.TextOut(60, 60, samp_text2); page.EndText(); /* save the document to a file */ pdf.SaveToFile("TextDemo.pdf"); } catch (Exception e) { Console.Error.WriteLine(e.Message); } }