code: func (c *Client) Print(p *Printer, info *JobInfo, data []byte) (*Job, error) {
  	var mr multipartRequest
  	mr.init()
  	mr.WriteField("printerid", p.ID)
  	mr.WriteField("title", info.Title)
  	mr.WriteField("contentType", "application/pdf")
  	for _, tag := range info.Tags {
  		mr.WriteField("tag", tag)
  	}
  	cap := info.Capabilities
  	if cap == nil {
  		cap = []byte(`{"capabilities":[]}`)
  	}
  	w, _ := mr.CreateFormFile("capabilities", "capabilities")
  	w.Write(cap)
  	w, _ = mr.CreateFormFile("content", "x.pdf")
  	w.Write(data)
  
  	var resp submitResponse
  	err := jsonRPC(&c.auth, "POST", cloudprintURL+"/submit", &mr, &resp)
  	if err != nil {
  		return nil, fmt.Errorf("Print: %v", err)
  	}
  
  	return resp.Job.Job(), nil
  }
docs: // Print creates a new print job printing to p with the given job information.
  // The data is the raw PDF to print.