Export text and image in the same file - ios

What I want to do is exporting some data from my app to a text file - say an RTF file. I found that converting text can be done through this classes, but is there a way to save an image also?

If you want to export text + images in the same document you can do it usig Core Graphics. Please search for CGPDFDocument Reference and Quartz 2D Programming Guide in Apple documentation.
However in order to do this you need to have an understanding of the PDF format and you should read the Adobe guide PDF Reference, Fourth Edition, Version 1.5

Using CGPDFContext you can create a UIView, draw your contents into it (using sub views to make life easy for text and images) and then render the views layer into the PDF context. Then save the resulting data to a file.

Related

Does jsPDF allow for custom document sizes such as single labels?

I am trying to create pdf with a single label to print to a Brother PL-7 label printer.
I found jsPDF that is able to generate a PDF, however two problems.
I can't seem to specify the document to a custom size.
I am unsure of how to put the bar code I have in a canvas generated by jsBarcode into the PDF.
How can I create a single label size PDF document with a bar code included on it?
I had the same issue and found this fix on their github issues page in regards to the first problem:
https://github.com/MrRio/jsPDF/issues/372
worked for me perfectly once the that code was altered.
I know a lot less about how what exactly jsBarcode generates, but if it is generating a canvas file as you mentioned in your question, it can be converted into a png/jpeg and then be fed into jsPDF. See HTML5 canvas, convert canvas to PDF with jspdf.js.

iOS - How to add text on top of PDF Document?

I've loaded a PDF Document into a UIView Class, and displayed it on screen using CGDrawRect. So Now I can visually see the PDF: What I want to do is have the user click certain points of the file, which will bring up the key board, allowing the user to directly add text to the PDF, which will later need to be rendered - some direction or guide would be very helpful ?
I understand its a lot simpler to draw a PDF from scratch then to manipulate it
I also understand Quartz 2d may be the way to go, but a bit confused with the samples
There are two possible scenarios here:
Editing existing PDF text is very difficult, even with something like PSPDFKit. It is no accident that there are no PDF-based word processors.
Annotating PDF content is more straightforward:
Add any additional content as subviews to the UIView that contains the PDF document. Additional content can be in the form of text, vectors or images - anything that can be added to a UIView. At this point you do not need to worry whether the added content is "part of" the PDF.
When you want to render the added content to the PDF, simply render the container view (which contains both the original document and annotations) to a PDF Context using UIGraphicsBeginPDFContextToFile and UIGraphicsBeginPDFPage.
Check this question and answer for a simple example and a method for ensuring that the PDF is rendered as vectors, not as a bitmap: Rendering a UIView into a PDF as vectors on an iPad - Sometimes renders as bitmap, sometimes as vectors

Generating an image using Cocoa

My iOS app needs to be able to generate an image to post to Facebook and Twitter. The image will be a representation of data added by the user. The image is not a direct representation of any view that will be displayed on screen. It is not necessary to include any other image resources in the image created - for the most part I need to format the style and layout some text, and maybe add some borders, lines, etc - but I would like the ability to add this later if it is simple.
What approach is best for something like this? Should I build a UIView and output it to a file somehow? Is there an HTML/CSS solution? Or some other approach?
Bonus points if you can recommend the file format and attributes optimized for posting to Facebook/Twitter.
Use UIGraphicsBeginImageContextWithOptions() to create a new image context.
Then, draw whatever you like into it using Core Graphics. You can draw text using Core Graphics or Core Text — the former is easier, but the latter gives you more opportunity for customisation.
Then, get a UIImage out of your context by using UIGraphicsGetImageFromCurrentImageContext().
You can then convert the UIImage into a PNG using UIImagePNGRepresentation().

Create a ttf file on iOS

I want to create a simple ttf font within an iphone/ipad app. The concept is that the user will draw each letter and I will create a collection to build the ttf file.
Initially, I thought I would have to export the images from the app to a font editor such as fontforge on a server, but I am now convinced that it is possible to generate a ttf file on the device.
Here is what I think needs to happen:
1) Enable the drawing using OpenGL
2) Save the images. Is this in a vector format or as bitmap?
3) Organize the collection as a ttf file
Can someone point me in a successful direction?
1) Enable the drawing using OpenGL
And herein lies your first misconception. OpenGL is best thought as a one way device. You put drawing commands into it, and it produces a nice picture on the screen. But OpenGL is neither a geometry nor a math library.
2) Save the images
For the creation of a TTF the raw data you send to OpenGL is much more useful, than anything you could read back from OpenGL.
In particular you'll have a list of strokes, which you could convert into an outline, that then can be converted into a glyph.

What is the easiest way to create complex PDF in iOS?

I am trying to generate some complex invoice data in PDF format. I know two Technique:-
By converting Data into HTML data via UIWebView and generate its PDF accordingly. But it is having issue of showing data Blur or unreadable if Zoom, when data is long in size. Cause it actually first create Image from HTML data and generate pdf.
Using QuartzCore technique mentioned in Ray-Wenderlich tutorial:-
http://www.raywenderlich.com/6818/how-to-create-a-pdf-with-quartz-2d-in-ios-5-tutorial-part-2
Is there any way other then these above two? Also is it possible in the First technique to get data in UIWebView as vector based so that when it zoom it will not blur the data?
Thanks in Advance,
Vivek
Use the Quartz 2D framework as described in the tutorial. You don't want to create a pixel image from the html because it does not scale and can get large.
You can use a tableview with multi sections to create your invoice and convert it to an image(uiview----> image) and After that print that image to pdf (image--->pdf).

Resources