Mapping a MARC file - marc

I have a marc file X.rec and I need to map which headers it contains (issn, main title, alternative title, publisher, etc...).
Is there a simple way/tool that parse the file and output which headers it contains?
Thanks,
Mike

There are a variety of tools that you can use to parse MARC data, depending on if you prefer a simple GUI application or want to include it into a specific script.
A couple of specific options:
MARCEdit is a GUI application for Windows, but will run on Mac OS X and Linux using Mono.
ruby-marc is a Ruby library to parse MARC records.
MARC/Perl is a comprehensive suite of Perl modules for parsing MARC data.

Related

Is there a C++ cross platform key/value API or library for C++?

We want to persist some user settings int he GUI part of our code. I used to do Win32 programming exclusively and the typical way this was done was with registry settings.
I assume that this should be done with configuration files, but was wondering if there was a library or cross platform wrapper that made key/value pair persistence very easy.
Qt's QSettings class handles this:
http://doc.qt.nokia.com/4.6/qsettings.html
Boost.PropertyTree supports XML, JSON, INI config files.
There is also JSON for a lighter alternative of XML. Lots of implementations on that page too.
Qt 4 has a class for it, named QSettings. Looks exactly like what you need.
Why not use an XML as the configuration file. Then you only have to find a cross platform XML library which is easier IMO.
Here is a list of nice XML parsing solutions for C++.
Old school Berkley DB comes to mind.
Have a look at Tokyo Cabinet or at Embedded InnoDB.
In the old days we used .ini files in windows. Here is a portable version of an ini file read/write library
It will work on Windows as well as Linux.

Help programmatically add text to an existing PDF

I need to write a program that displays a PDF which a third-party supplies. I need to insert text data in to the form before displaying it to the user. I do have the option to convert the PDF in to another format, but it has to look exactly like the original PDF. C++ is the preferred language of choice, but other languages can be investigated (e.g. C#). It need to work on a Windows desktop machine.
What libraries, tools, strategies, or other programming languages do you suggest investigate to accomplish this task? Are there any online examples you could direct me to.
Thank-you in advance.
What about PoDoFo:
The PoDoFo library is a free, portable
C++ library which includes classes to
parse PDF files and modify their
contents into memory. The changes can
be written back to disk easily. The
parser can also be used to extract
information from a PDF file (for
example the parser could be used in a
PDF viewer). Besides parsing PoDoFo
includes also very simple classes to
create your own PDF files. All classes
are documented so it is easy to start
writing your own application using
PoDoFo.
iTextSharp is a free library that you can use in .Net applications. Take a look at the iText page - that is for the iText project, which is a Java library. iTextSharp is part of that project, and is a port to C# and .Net.
Consider Python It have a lot PDF librarys (both creating and extracting) eg:
http://pypi.python.org/pypi/pdfsplit/0.4.2
http://pypi.python.org/pypi/JagPDF/1.4.0
http://pypi.python.org/pypi/pdfminer/20091129
http://pypi.python.org/pypi/podofo/0.0.1
http://pypi.python.org/pypi/pyFPDF/1.52
There are also good tools for using C/C++ code in Python and to create .exe form Python scripts. If you decide to use different language consider Python as prototyping language!

How can I read and parse a URL's XML or JSON content with C++?

I can easily do this with JQuery or PHP but I have a project for my Intro to C++ class and I thought it'll be pretty cool if I could mix C++ with some APIs like twitter, google, yahoo etc.
Could you tell me if there is a class ( I know OOP ) I can use to read an external XML or JSON file. The program has to run on windows and linux so I can't use commands.
Or, if this can't be done, what other cool project would you do? Thanks in advance.
XML: xerces(C++) http://xerces.apache.org/xerces-c/
JSON:http://sourceforge.net/projects/jsoncpp/

Command line tool to edit mp3 ID3 tags

I want a simple command line tool running on Windows Xp(or even cross platform) similar in functionality to Mp3tag to edit mp3 ID3 tags. I mostly want to organize my music according to artist , genre etc so a lightweight tool which can ask the user which tag to edit and then change all the mp3 files' tags in a directory will be good. Can I use perl to do this?
use http://eyed3.nicfit.net/ . it's in python. python works on windows.
yes indeed, you can use Perl to do it. (as well as other languages with such modules support). Search CPAN for ID3 tag modules.
Sure you can; see Is there a Perl or Python library for ID3 metadata?.
I use mpgtx in my Debian, but I see they have a Windows version at http://mpgtx.sourceforge.net/#Download
The commands I use are as follows:
# Read Tag information from mp3
mpginfo 05\ Fatty\ Boom\ Boom.mp3
# Writes album information in mp3
tagmp3 set "%a:Tension" 05\ Fatty\ Boom\ Boom.mp3
I just found the most powerful combination for doing this kind of work from a console: PowerShell and TagLib#.
Found it at http://huddledmasses.org/editing-media-tags-from-powershell/
It works like a charm!
I use BulkID3 for this. http://sourceforge.net/projects/bulkid3
I don't think it works on Windows, but it's open source.

C++ Library to render ODF documents?

I am unable to find any open source libraries to render ODF documents using C++. I found ODKit suporting Java and AODL for .NET C#.
Does any one have any idea or provide me any pointers.
I found a Qt source to parse ODF. Qt already has built in ODF writer.
KOffice supports ODF and is written in C++. I suspect they may have solved whatever it is you are trying to solve. http://www.koffice.org
It may not be the most elegant solution but OpenOffice itself is capable of rendering and the OOoSDK can be used from C++ as seen here for writer and here for spreadsheet.
There is none. You're better AODL or any of the other libs available (python, perl, java, etc) and doing a binding to it
KOffice can be an idea, but if I just want to display an odt file in a nice Qt QWidget, but I don't want to depends on DBus and a lots of Kde feature.
The Idea is to take a look a Flake and KoText libs as Thomas Zanders says on this Forum.