SimpleDocument.vb
  1. ''
  2. '' This code is part of Document Solutions for Word demos.
  3. '' Copyright (c) MESCIUS inc. All rights reserved.
  4. ''
  5. Imports System.Drawing
  6. Imports System.IO
  7. Imports GrapeCity.Documents.Word
  8. Imports GrapeCity.Documents.Imaging
  9.  
  10. '' This sample demonstrates how to use basic elements
  11. '' (text, borders, picture) to create a Word document in code.
  12. Public Class SimpleDocument
  13. Function CreateDocx() As GcWordDocument
  14. Dim doc = New GcWordDocument()
  15. Dim sec = doc.Body.Sections.First
  16. Dim pars = sec.GetRange().Paragraphs
  17.  
  18. '' Title:
  19. Dim title = pars.Add("Simple Word Document")
  20. title.Style = doc.Styles(BuiltInStyleId.Title)
  21.  
  22. '' Heading:
  23. Dim heading = pars.Add("Basic Elements")
  24. heading.Style = doc.Styles(BuiltInStyleId.Heading1)
  25.  
  26. '' Text:
  27. Dim p = pars.Add("This document is built using the following basic elements available through the ")
  28. Dim run = p.GetRange().Runs.Add("DsWord")
  29. run.Style = doc.Styles(BuiltInStyleId.Strong)
  30. p.GetRange().Runs.Add(" object model:")
  31.  
  32. '' List:
  33. Dim listTemplate = doc.ListTemplates.Add(BuiltInListTemplateId.BulletDefault, "myListTemplate")
  34.  
  35. '' Add bullet items
  36. Dim addListItem As Action(Of String) =
  37. Sub(t_)
  38. Dim p_ = pars.Add(t_)
  39. p_.ListFormat.Template = listTemplate
  40. p_.Style = doc.Styles(BuiltInStyleId.ListParagraph)
  41. End Sub
  42. addListItem("Text and text runs")
  43. addListItem("Paragraphs")
  44. addListItem("List templates")
  45. addListItem("Borders")
  46. addListItem("Pictures")
  47. addListItem("Styles")
  48. pars.Add().Style = doc.Styles(BuiltInStyleId.Normal)
  49.  
  50. '' Add picture:
  51. Dim picBytes = File.ReadAllBytes(Path.Combine("Resources", "Images", "road.jpg"))
  52. '' Create a GcBitmap so that we can find out the native picture size:
  53. Dim bmp = New GcBitmap(picBytes)
  54. '' Scale picture to fill 80% of the page width:
  55. Dim width = doc.Body.Sections.Last.PageSetup.ClientWidth * 0.8F
  56. Dim height = bmp.Height * (width / bmp.Width)
  57. Dim pic = pars.Add().GetRange().Runs.Add().GetRange().Pictures.Add(picBytes, "image/jpeg")
  58. pic.Size.Width.Value = width
  59. pic.Size.Height.Value = height
  60. pic.WrapFormat.Type = WrapType.TopBottom
  61. pic.Position.Horizontal.Type = ShapePositionType.Alignment
  62. pic.Position.Horizontal.Alignment = ShapeHorizontalRelativeAlignment.Center
  63.  
  64. '' Adjust styles:
  65. Dim font = "Arial"
  66. Dim hicolor = Color.SteelBlue
  67. Dim bcolor = Color.Coral
  68.  
  69. '' Title:
  70. Dim sTitle = doc.Styles(BuiltInStyleId.Title)
  71. Dim bb = sTitle.ParagraphFormat.Borders.Bottom
  72. bb.LineStyle = LineStyle.Single
  73. bb.LineWidth = 4
  74. bb.Color.RGB = bcolor
  75. bb.Space = 10
  76.  
  77. sTitle.Font.Color.RGB = hicolor
  78. sTitle.Font.Name = font
  79. sTitle.Font.Bold = True
  80. sTitle.Font.Size = 30
  81.  
  82. '' Heading 1:
  83. Dim sHeading1 = doc.Styles(BuiltInStyleId.Heading1)
  84. sHeading1.Font.Color.RGB = hicolor
  85. sHeading1.Font.Name = font
  86. sHeading1.Font.Bold = True
  87. sHeading1.ParagraphFormat.Spacing.SpaceAfter = 8
  88.  
  89. '' Normal text:
  90. Dim sNormal = doc.Styles(BuiltInStyleId.Normal)
  91. sNormal.Font.Name = font
  92. sNormal.Font.Size = 12
  93.  
  94. '' Strong text:
  95. Dim sStrong = doc.Styles(BuiltInStyleId.Strong)
  96. sStrong.Font.Color.RGB = hicolor
  97. sStrong.Font.Italic = True
  98.  
  99. '' Done
  100. Return doc
  101. End Function
  102. End Class
  103.