Advertisement
Guest User

pdf form

a guest
May 24th, 2018
665
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 6.46 KB | None | 0 0
  1.  Protected Overrides Async Sub OnLoad(e As EventArgs)
  2.           MyBase.OnLoad(e)
  3.  
  4.           TransferID = Convert.ToInt64(QueryHelper.GetDouble(NameOf(TransferID), 0.0))
  5.  
  6.           Using strm As New IO.FileStream(Server.MapPath("BillOfLading Template.pdf"), IO.FileMode.Open)
  7.  
  8.  
  9.  
  10.                 Using rdr As New PdfReader(strm)
  11.  
  12.  
  13.                      Response.Clear()
  14.  
  15.                      Response.BufferOutput = True
  16.                      SetupHeaders("testfile.pdf")
  17.  
  18.                      Dim shipment As Transfer = Await getTransfer()
  19.                      Dim bill As BillOfLading = shipment.billOfLading
  20.  
  21.  
  22.                      Dim fromYardTsk = getYard(shipment, YardSides.ShipFrom)
  23.                      Dim toYardTsk = getYard(shipment, YardSides.ShipTo)
  24.                      Dim productsTsk = getProducts(shipment)
  25.  
  26.  
  27.                      Await Task.WhenAll({fromYardTsk, toYardTsk, productsTsk})
  28.                      Dim fromYard As Yard = Await fromYardTsk
  29.                      Dim toYard As Yard = Await toYardTsk
  30.                      Dim products As List(Of ProductInfo) = Await productsTsk
  31.  
  32.  
  33.  
  34.  
  35.  
  36.                      Using stamper As New PdfStamper(rdr, Response.OutputStream)
  37.  
  38.                           Dim flds As AcroFields = stamper.AcroFields
  39.  
  40.                           flds.SetField("dtmShipDate", shipment.shipmentDate.ToShortDateString)
  41.                           flds.SetField("FolderName", bill.id)
  42.                           flds.SetField("txtShipFromFerrell", fromYard.boL_Name)
  43.                           flds.SetField("txtShipFromParent", $"{fromYard.yardName} ({fromYard.yardID})")
  44.                           flds.SetField("txtShipperNum", shipment.referenceNumber)
  45.                           flds.SetField("txtShipFromAddress", fromYard.address1)
  46.                           flds.SetField("txtCarrier", shipment.carrierName)
  47.                           flds.SetField("txtShipFromCityStateZip", $"{fromYard.city}, {fromYard.state} {fromYard.zip}")
  48.                           flds.SetField("txtTrailerNum", bill.trailerNumber)
  49.                           flds.SetField("chkFOBSource", If(bill.fob = "Source", flds.GetAppearanceStates("chkFOBSource").Last, String.Empty))
  50.                           flds.SetField("txtShipToFerrell", toYard.boL_Name)
  51.                           flds.SetField("txtDOTHazmat", Regex.Replace(bill.hazmatEmergencyContactNumber, "(\d{3})(\d{3})(\d{4})", "$1-$2-$3"))
  52.                           flds.SetField("txtShipToParent", $"{toYard.yardName } ({toYard.yardID })")
  53.                           flds.SetField("txtShipToAddress1", toYard.address1)
  54.                           flds.SetField("txtShipToAddress2", toYard.address2)
  55.                           flds.SetField("txtCarrierNum", bill.carrierNumber)
  56.                           flds.SetField("txtShipToCityStateZip", $"{toYard.city}, {toYard.state} {toYard.zip}")
  57.                           flds.SetField("chkPlacardsYes", If(bill.placardsRequired, flds.GetAppearanceStates("chkPlacardsYes").Last, String.Empty))
  58.                           flds.SetField("chkPlacardsNo", If(Not bill.placardsRequired, flds.GetAppearanceStates("chkPlacardsNo").Last, String.Empty))
  59.                           flds.SetField("txtPlacards", bill.placards)
  60.                           flds.SetField("chkFOBDestination", If(bill.fob = "Destination", flds.GetAppearanceStates("chkFOBDestination").Last, String.Empty))
  61.                           flds.SetField("chkPlacardsSuppliedYes", If(bill.placardsSupplied, flds.GetAppearanceStates("chkPlacardsSuppliedYes").Last, String.Empty))
  62.                           flds.SetField("chkPlacardsSuppliedNo", If(Not bill.placardsSupplied, flds.GetAppearanceStates("chkPlacardsSuppliedNo").Last, String.Empty))
  63.                           flds.SetField("chkPrepaid", If(bill.freightCharges = "P", flds.GetAppearanceStates("chkPrepaid").Last, String.Empty))
  64.                           flds.SetField("chkCollect", If(bill.freightCharges = "C", flds.GetAppearanceStates("chkCollect").Last, String.Empty))
  65.                           Select Case shipment.shipperOfRecord.Trim.ToUpper
  66.                                 Case "F"
  67.                                      flds.SetField("txtShipperOfRecord", fromYard.boL_Name)
  68.                                 Case "T"
  69.                                      flds.SetField("txtShipperOfRecord", toYard.boL_Name)
  70.                                 Case Else
  71.                                      flds.SetField("txtShipperOfRecord", "")
  72.  
  73.                           End Select
  74.  
  75.                           'flds.SetField("txtBlueRhino", "26")
  76.                           'flds.SetField("txtLoadLocks", "27")
  77.                           flds.SetField("txtContactName", bill.hazmatEmergencyContactNumber)
  78.                           flds.SetField("memSpecialInsr", shipment.comments)
  79.                           flds.SetField("txtEmerPhone", bill.hazmatEmergencyPhone)
  80.  
  81.                           Dim proddetail = (From detail In shipment.loadDetails
  82.                                                   Join prod In products On detail.product Equals prod.product
  83.                                                   Select New With {.Product = prod, .Detail = detail}).ToList
  84.  
  85.  
  86.                           For Each lineinfo In proddetail.Select(Function(info, index) New With {.info = info, .Index = index})
  87.  
  88.  
  89.  
  90.                                 flds.SetField($"intUOMShipQty{lineinfo.Index + 1}", lineinfo.info.Detail.qtyShipped.ToString("N0"))
  91.                                 flds.SetField($"txtUOM{lineinfo.Index + 1}", lineinfo.info.Product.bolDisplayUOM)
  92.                                 flds.SetField($"intShipQty{lineinfo.Index + 1}", lineinfo.info.Detail.qtyShipped)
  93.                                 flds.SetField($"Type{lineinfo.Index + 1}", lineinfo.info.Product.bolDisplayUOM)
  94.                                 flds.SetField($"decWeight{lineinfo.Index + 1}", (lineinfo.info.Product.weight * lineinfo.info.Detail.qtyShipped).ToString("N2"))
  95.                                 flds.SetField($"chkHazmat{lineinfo.Index + 1}", If(lineinfo.info.Product.hazmat, flds.GetAppearanceStates($"chkHazmat{lineinfo.Index + 1}").Last, String.Empty))
  96.                                 flds.SetField($"txtProduct{lineinfo.Index + 1}", If(String.IsNullOrWhiteSpace(lineinfo.info.Product.bolWording), lineinfo.info.Product.product, lineinfo.info.Product.bolWording))
  97.                                 flds.SetField($"txtIntDesc{lineinfo.Index + 1}", lineinfo.info.Product.reportingCategoryDetail)
  98.                                 flds.SetField($"txtNMFC{lineinfo.Index + 1}", lineinfo.info.Product.nmfc)
  99.                                 flds.SetField($"txtClassRate{lineinfo.Index + 1}", "")
  100.  
  101.                           Next
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.                           flds.SetField("decTotalWeight", proddetail.Sum(Function(p) p.Product.weight * p.Product.truckQty).ToString("N2"))
  109.                           flds.SetField("curCOD", bill.codAmount.ToString("F2"))
  110.                           flds.SetField("chkCODCollect", If(bill.freightCharges = "C", flds.GetAppearanceStates("chkCODCollect").Last, String.Empty))
  111.                           flds.SetField("chkCODPrepaid", If(bill.freightCharges = "P", flds.GetAppearanceStates("chkCODPrepaid").Last, String.Empty))
  112.                           'flds.SetField("FormDataTypes", "155")
  113.                           'flds.SetField("eSubmitButton", "")
  114.                           'flds.SetField("eCancelButton", "")
  115.  
  116.                           Dim cb = stamper.GetOverContent(1)
  117.                           Dim codeText As String = $"http://bluerhino.com/{Now.Ticks}"
  118.                           Dim qrcode2 As iTextSharp.text.pdf.BarcodeQRCode = New BarcodeQRCode(codeText, 1, 1, Nothing)
  119.  
  120.                           Dim img As iTextSharp.text.Image = qrcode2.GetImage()
  121.  
  122.                           img.SetAbsolutePosition(350, 0)
  123.                           ' img.ScalePercent(125.0F)
  124.  
  125.                           cb.AddImage(img)
  126.  
  127.                           stamper.FormFlattening = True
  128.                           stamper.Writer.CloseStream = False
  129.  
  130.  
  131.                      End Using
  132.                      Response.End()
  133.                 End Using
  134.           End Using
  135.  
  136.      End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement