Solved

Using ABCpdf 6.1 .NET component from PHP - How to instantiate

Posted on 2008-10-01
2
1,879 Views
Last Modified: 2012-05-05
I downloaded ABCpdf 6.1 .NET from Websupergoo.com - to use from a PHP script, to create PDF's from Word documents on the fly - very cool indeed.

Only thing is, I want to use PHP (of course) instead of .NET

As far as I can read here, http://dk.php.net/manual/en/class.dotnet.php, that should not be a problem.

Only thing is, that I never tried to use .NET components before, only COM objects.

So my question is - can someone please help me fill in the blanks :
$obj = new DOTNET("assembly", "classname")

Attached are some example code from ABCpdf...

Thanks for your help on this matter :-)

// ===========================================================================
//	©2006 WebSupergoo. All rights reserved.
// ===========================================================================
 
using System;
using System.IO;
using WebSupergoo.ABCpdf6;
using WebSupergoo.ABCpdf6.Objects;
 
 
namespace TaggedPDF {
	/// <summary>
	/// Startup class for calling tagged pdf tests
	/// Tests include xml converter example and hardcoded tagged 
	/// pdf creation.
	/// - Simple example shows how to generate tagged pdf files using ABCPdf
	/// - Xml converter transforms simple html-like xml format to tagged pdf. 
	/// </summary>
	class TaggedPDFApp {
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args) {
			string theBase = Directory.GetParent( Directory.GetCurrentDirectory() ).Parent.FullName;
			string theIn = theBase + @"\Input\";
			string theOut = theBase + @"\Output\";
 
			// simple example first
			SimpleExample(theIn, theOut);
	
			// then xml based example
			string[] theFiles = Directory.GetFiles(theIn);
			foreach (string inFile in theFiles) {
				string outFile = theOut + Path.GetFileNameWithoutExtension(inFile) + ".pdf";
				XmlConverter converter = new XmlConverter();
				converter.Convert(inFile, outFile);
			}
		}
 
		/// <summary>
		/// Example of a dynamically created tagged pdf document  
		/// </summary>
		static public void SimpleExample(string inputDirectory, string outputDirectory) {
			// Create new doc and tagged content for it
			Doc theDoc = new Doc();
			TaggedContent theContent = new TaggedContent(theDoc);
 
			//Add a container tag
			theContent.BeginTaggedItem("Container");
 
			//Add a paragraph of text
			theDoc.Rect.Inset(40, 40);
			theDoc.FontSize = 20;
			theContent.AddTaggedText("P", "Tagged PDF (PDF 1.4) is a stylized use of PDF that builds on the logical structure framework described in Section 10.6, Logical Structure. It defines a set of standard structure types and attributes that allow page content (text, graphics, andimages) to be extracted and reused for other purposes.");
 
			//Add image
			theDoc.Rect.String = "300 100 300 100";
			theContent.AddTaggedImage("Image", inputDirectory + @"images\aster1.jpg");
 
			//Add some rotated text marked with header tag (H1)
			theDoc.Rect.String = theDoc.MediaBox.String;
			theDoc.Rect.Magnify(0.5, 0.5);
			theDoc.FontSize = 30;
			theDoc.Transform.Rotate(45, theDoc.Pos.X, theDoc.Pos.Y);
			theContent.AddTaggedText("H1", "Gallia est omnis divisa in partes tres, quarum unam incolunt Belgae, aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli appellantur.");
			theDoc.Transform.Reset();
 
			//Close container
			theContent.EndTaggedItem();
 
			// Dump tagged content and save pdf file
			theContent.AddToDoc();
			theDoc.Save(outputDirectory + "Simple.pdf");
		}
	}
}

Open in new window

0
Comment
Question by:trg_dk
  • 2
2 Comments
 
LVL 2

Author Comment

by:trg_dk
ID: 22621861
No takers on this one ?? Really need your help to make this work :-)

Thanks,
Mark
0
 
LVL 2

Accepted Solution

by:
trg_dk earned 0 total points
ID: 22656948
OK Guess I'll be closing this one then :-(
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I imagine that there are some, like me, who require a way of getting currency exchange rates for implementation in web project from time to time, so I thought I would share a solution that I have developed for this purpose. It turns out that Yaho…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question