/ Forums / Advansys Formativ / Creating Solutions with Formativ / Print contents of a portal

  • Creator
  • #4134


    The subject says it all: How can I print the contents of a portal? If possible, without any user intervention. (Print-dialogs etc.)

    Thanks in advance!

  • Author
  • #7225
    Support 1a

    This should be possible using the NativeInterface property of a portal. The nativeInterface property gives you the IWebBrowser2 interface for the portal, which in tern has an ExecWB() method. You can use this method to print the contents of the portal.

    Here’s an example:

    Sub Main(Client, GWEvent)
       dim iPortals
       dim iPortal1
       dim iret
       Set iPortals = GroupWise.PortalManager.Portals
       Set iPortal1 = iPortals.Item("PORTAL1")
       If iPortal1 is Nothing Then
         Set iPortal1 = iPortals.Add
         iPortal1.Caption = "Advansys Home"
         iPortal1.TabCaption = "Advansys"
         iPortal1.ID = "PORTAL1"
         iPortal1.NavigationControlsEnabled = True
         iPortal1.URLInputEnabled = True
         iPortal1.Url = "www.advansyscorp.com"
         MsgBox "Found it - try to print it"
         const IDM_PRINT = 6
         call iPortal1.NativeInterface.ExecWB(IDM_PRINT, -1)
       End If
    End Sub

    This is somewhat incomplete, because the printer selection dialog still appears. I understand it should be possible to turn this off by using flags. See the Microsoft Documentation on the IWebBrowser2.ExecWB() method, and the IDM_PRINT command. More information is available at http://msdn.microsoft.com/workshop/browser/mshtml/reference/constants/idm_print.asp.

    I hope this helps.

    Advansys Support



    I have further question about printing content of portal. Is it possible edit or better completelly remove default information written on printed page in bottom-left corner (in Your case is URL address http://www.advancesys.com/) or (in my case) there is a text “about:blank” and bottom-right corner – date?

    Thanks in advance for information!
    kind regards,

    Support 3

    You can use Portal.HTML property to get the HTML source for each Portal. Setting the HTML property will render the page within the Portal. See Formativ Language Guide (Portal object) for more information.

    If you use Portal.URL to set Portal contents then you can use example code below to extract Portal HTML, update contents and reset.

       Set oPortals = GroupWise.PortalManager.Portals
       Set oPortal1= oPortals.Item("PORTAL1")
      If not (oPortal1 is nothing) then
       iHtml = oPortal1.html
       iHtml = replace(iHtml, "about:blank", "NewText", vbTextCompare)
       oPortal1.html = iHtml
      end if
      set oPortals = nothing
      set oPortal1 = nothing

    Alternatively, if you use Portal.HTML to set page contents at the beginning then you should update it prior to set.

    Advansys Support


    I think You don’t understand what I meant. The text I want to change (or better remove) is not in origin html file, but on printed page of this file. I create example for You:


    On the left You can see whole html file opened by Internet Explorer. On the right You can see this file printed by pdf creator software from Portal (it’s the same look when I print to real printer). As You can see, on the bottom (red marks), there is extra text, which is not in origin html file. I would like to remove this text, is it possible?

    Support 3

    Thanks for the clarification.

    Browsers usually set to add title, date, page number and URL to any page printed from the Internet. You will need to change browser print settings. Link below shows steps to change print settings (follow the Internet Explorer 6 & 7 instructions):


    Hope this helps.

    Advansys Support

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.