Mihai Bazon
b60fe860e0
Fix reading UInt32
...
In JS, 0x80 << 24 yields a negative result. Also, 0x80000000|0 < 0.
Bitwise ops should be avoided for very long unsigned ints.
2014-08-16 11:57:54 +03:00
Devon Govett
1241997715
Refactor font loading code and add support for ArrayBuffers
2014-07-29 09:42:48 -07:00
Aaron Fischer
c2c61bb2e2
added support for add font as Uint8Array
2014-07-29 09:15:39 -07:00
Devon Govett
e58a7ce809
Formatting
2014-07-14 20:48:00 -07:00
jkol
64df00fa13
Added "valign" option to image "fit" scaling
...
valign can be set to "center" or "bottom" now and when "valign" === "center" is combined with "align" === "center" any aspect ratio image can be centered into a bounding area.
2014-07-14 18:23:11 -05:00
Ryan Wersal
c77add8f56
Remove text state handling as it doesn't surive graphic stack saves/restores
...
Saving and/or restoring the graphics state causes each text object to have to
reinitialize that text state. As a result, the mode/characterSpacing commands
would not get re-added until their value(s) had changed.
2014-05-10 01:11:06 -05:00
Ryan Wersal
aadc589a62
Improve sizing of text underline
2014-05-09 00:05:17 -05:00
Ryan Wersal
acc0a2e4ba
Use a regex to capture the base64 encoded string
2014-05-06 00:43:02 -05:00
Ryan Wersal
2b34173dec
Add ability to add base64 URI images
2014-05-05 22:47:33 -05:00
Devon Govett
a6f6f4df8a
Don't use trimRight since it isn't supported in IE
2014-04-14 09:58:26 -07:00
Devon Govett
6e447cae7a
Don't embed fonts that haven't been referenced
2014-04-13 19:54:18 -07:00
Devon Govett
22499ee4bd
Include a static list of standard fonts so they can be included by browserify/brfs
2014-04-12 20:48:29 -07:00
Devon Govett
78946e97fc
Rework mixin so it can be statically compiled by browserify
2014-04-12 20:47:54 -07:00
Devon Govett
98489d64a8
Store the font name
2014-04-12 20:45:42 -07:00
Devon Govett
4b8b031188
Don't embed fonts until they are actually used
2014-04-12 20:45:15 -07:00
Devon Govett
bb9b77cb82
Allow loading fonts from Buffers in addition to filenames
2014-04-12 20:44:19 -07:00
Devon Govett
801981728c
Make AFMFont.open different from constructor
2014-04-12 20:35:14 -07:00
Devon Govett
8c51ee077f
Make sure that sfnt key exists in dfont so we don't throw random errors
2014-04-09 23:44:31 -07:00
Devon Govett
f463512b2f
Don't embed fonts more than once
2014-04-09 23:41:40 -07:00
Devon Govett
87fd69b7e5
Don't overwrite cmap method
2014-04-09 23:41:06 -07:00
Devon Govett
ae28782eb1
Fix writing indexed PNG palettes
2014-04-09 09:51:59 -07:00
Devon Govett
876db9e067
Don't set the Length key on images. It will be set by the PDFReference class automatically
2014-04-09 09:51:43 -07:00
Devon Govett
665fd935ef
Make loading images from buffers way faster by not converting to a string inadvertently
2014-04-06 19:19:17 -07:00
Devon Govett
8eece7e9ea
Make sure heightOfString doesn't break pages
2014-03-29 20:36:10 -07:00
Devon Govett
c72b50927c
Add heightOfString method that uses the line wrapper without actually adding content to the document.
...
Very useful for layout purposes
2014-03-29 20:22:21 -07:00
Devon Govett
cf564ac3da
Fixes for text justification
2014-03-29 19:56:36 -07:00
Devon Govett
16e00aa9e2
Allow setting compress option from constructor
2014-03-29 19:45:41 -07:00
Devon Govett
0907968905
Don't store all objects in memory, just offsets once they are written
2014-03-23 18:16:42 -07:00
Devon Govett
f6c4b2c226
Free memory after embedding images
2014-03-23 17:37:13 -07:00
Devon Govett
b570ac219e
Simplify image loading
2014-03-23 17:31:07 -07:00
Devon Govett
f8a40dba76
Make PDFDocument a node stream
2014-03-23 17:11:48 -07:00
Devon Govett
1305a9592a
Switch to 2 space indentation
2014-03-23 12:25:09 -07:00
Devon Govett
fda5b400e6
Another path parser fix
2014-02-25 00:42:25 -08:00
Devon Govett
06e6419533
Handle reused commands in path parser for last command
2014-02-25 00:08:41 -08:00
Devon Govett
67e6640b92
Fix bug in path parser
2014-02-24 23:44:50 -08:00
Devon Govett
350863bfda
Fix the ellipse method
2014-02-24 23:25:41 -08:00
Devon Govett
c1319acff8
Allow 0 opacities
2014-02-24 01:09:27 -08:00
Devon Govett
4257e69e07
Fix typo
2014-02-19 12:02:57 -08:00
Devon Govett
8139b4fa30
Add missing word count
2014-02-19 12:02:53 -08:00
Darius Kazemi
d7336a4bd0
"Dangling" single word lines now get emitted
...
This commit adds an extra emit to a required line break if there's a "dangling" word on the end.
2014-02-19 14:54:47 -05:00
Darius Kazemi
6637dca8eb
Correcting for edge case in line wrapping
...
If you look at the flow of the `eachWord` function, you'll notice that we add the word to the buffer if the width of the word `w` is less than the space available.
There's an edge case where `linebreaker` says that a line break is required on a word (because of a manual break: `theword\n`) and the width of the word being considered is greater than `spaceLeft`. In the current pdfkit, if this is the case:
* we do not append the word to the buffer
* we emit the line
* we break and move on to the next line, starting with a clean line
This omits the word entirely.
This commit makes it so that we only break the line and start with a clean line if we already had the space to write the line to the buffer. Otherwise, we append the word to the buffer and go to a new line.
2014-02-19 13:38:50 -05:00
Devon Govett
a0901c75a0
Make sure we use global.setImmediate
2014-02-17 23:20:32 -08:00
Devon Govett
cb81273b49
Trim spaces from the ends of lines when right aligning
2014-02-17 22:02:55 -08:00
Devon Govett
18512661b5
Apply current transformation to annotations
2014-02-17 22:01:49 -08:00
Devon Govett
415d5a371a
Reset continuedX if there is more than one line
2014-02-17 13:53:39 -08:00
Devon Govett
7fdc3b8d14
Fix for multiple continuations on the same line
2014-02-17 13:35:49 -08:00
Devon Govett
3f15f761e2
Calculate lineWidth of underline/strike based on font size
2014-02-17 02:34:27 -08:00
Devon Govett
7df3ccdf4d
Add link, underline, and strike options to text method. #183
...
Should make it way easier to do these common things.
2014-02-17 02:21:29 -08:00
Devon Govett
6a323bf0a2
Make sure justified wordSpacing value is always > 0
2014-02-17 02:19:11 -08:00
Devon Govett
9357ff5a4a
Extend text options for continued segments
2014-02-17 02:18:40 -08:00