github.com/signintech/pdft@v0.5.0/minigopdf/buff_write.go (about)

     1  package gopdf
     2  
     3  import "io"
     4  
     5  // WriteUInt32  writes a 32-bit unsigned integer value to w io.Writer
     6  func WriteUInt32(w io.Writer, v uint) error {
     7  	a := byte(v >> 24)
     8  	b := byte(v >> 16)
     9  	c := byte(v >> 8)
    10  	d := byte(v)
    11  	_, err := w.Write([]byte{a, b, c, d})
    12  	if err != nil {
    13  		return err
    14  	}
    15  	return nil
    16  }
    17  
    18  // WriteUInt16 writes a 16-bit unsigned integer value to w io.Writer
    19  func WriteUInt16(w io.Writer, v uint) error {
    20  
    21  	a := byte(v >> 8)
    22  	b := byte(v)
    23  	_, err := w.Write([]byte{a, b})
    24  	if err != nil {
    25  		return err
    26  	}
    27  	return nil
    28  }
    29  
    30  // WriteTag writes string value to w io.Writer
    31  func WriteTag(w io.Writer, tag string) error {
    32  	b := []byte(tag)
    33  	_, err := w.Write(b)
    34  	if err != nil {
    35  		return err
    36  	}
    37  	return nil
    38  }
    39  
    40  // WriteBytes writes []byte value to w io.Writer
    41  func WriteBytes(w io.Writer, data []byte, offset int, count int) error {
    42  
    43  	_, err := w.Write(data[offset : offset+count])
    44  	if err != nil {
    45  		return err
    46  	}
    47  	return nil
    48  }