Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Our C# source code is comprehensively documented using the usual Sandcastle/XML notation. We use SHFB to compile this into a MSDN-style documentation website.
We now need to*1 compile the documentation into a printable form. Ideally, we would like a PDF document but the specific format is less important than its printability. It is important, but not critical, that the documentation looks relatively professional and can be branded with the corporate logos, etc.
Is there a mostly pain-free way to do this? I don't think individually printing every page of the documentation website is a practical choice. The intermediate XML documentation files can, in principle, be transformed into a useable format but maybe there is already a viable and maintained solution for this task?
*1 - for reasons that I don't fully comprehend.
Is there a mostly pain-free way to do this?
No, DO not do it. It makes zero sense for a class level documentation - noone will ever read it. TAll hyperlinks do not work, would have to be changed to page references.
Our C# source code is comprehensively documented using the usual Sandcastle/XML notation.
No, it is not. It is documented the normal XML documentation notation. Sandcastle did not invent it.
NOw, if you really have to do it:
http://www.innovasys.com/products/dx2011/csdocumentation.aspx?cpid=gawdxcs&gclid=COiJq5To8qwCFQGHDgod900o0g
is pretty much the best you can get to. The are specialized in exactly that (multi target stuff). They also handle the additional pages etc. which is needed - the pure clas reference, without index, jsut printed, with hyperlinks instead of page references is basically tree destruction without any sense.
Apparently Help and Manual can import Sandcastle projects directly and then output them in various formats (including printable ones).
I haven't tried this myself, though. I'd be interested to hear experiences from anyone who has.
Ndoc has a Latex documentor plug-in. NDoc supports all documentation tags supported by Sandcastle, so that should be able to compile the documentation into a Latex file. This can then be used to create, for example, a Postscript document for printing.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
For my diploma thesis I need to implement certain static C code analysis and I am desperately looking for a framework/library that would allow me to parse C source code, split it up into single functions, for every function determine what variables are changed in the function body and derive certain annotations for the code automatically.
Is there any good framework written in C# or generally as .Net class for this purpose?
What about googling for "C Parser written in C#"?
I got this as first link: http://code.google.com/p/cpp-ripper/
Also, I think the C grammar can be found in quite a lot of places, so you might just want to open up your .NET variant of lex/yacc and go from there?
You might like to check ANTLR. It comes with versions of several versions, included C and C#. There are some free grammars on ANTLR web site, including C.
I had a similiar problem and having done a research about YACC tools for C# I have chosen Gold Parsing System with Semantic Engine. My project was parsing SQL queries and generating logical query plans (from T-SQL grammar subset).
I really recommend it. Those 2 libraries make parsing stuff painless and allow to map grammar to the object model in your code. It feels very intuitive and made my project successful :) However, it may lack some advanced ANTLR features, so recognize your needs carefully.
Gold Project http://www.devincook.com/goldparser/
Semantic Engine Lib http://code.google.com/p/bsn-goldparser
If you're ok with using GPL'd code, you might want to take a look at the GCC source code. If you need to do it within .Net, you can always use p/invoke to call code from the GCC libraries.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I have a task to convert the word document to PDF file. I need some process which could be done for free.Could any help me the process of converting the Word to PDF file for free with out Microsoft Interop ?
The sad truth is that you proberbly can't.
If it is a simple document with little styling and simple tables, or even less, then yes, you can proberbly find a free solution.
The paid solutions don't really work well either unless it's a somewhat simple document.
I was involved in a project where I made a document-generating system that had to prepare around 24.000 word documents in .docx and .pdf every day, and believe me we tried everything.
The free solution that almost kinda worked when the document did not contain any advances plots or tables was a java solution, docx4j.
We tried using Apose, Gembox and a bunch of others, but none of them could transform the advanced documents to a proper pdf without messing up the formatting.
Try converting something like this: example without using word. It won't work. Or at least it wouldn't approximately a year ago.
We ended up with setting up a dedicated document-server that hosts a very much abused Microsoft Word process that does nothing all day except generate and convert documents.
I would be very happy to discover the presence a decent free (or paid) alternativ. But my experience is that as soon as your document gets very complicated (see the example) no one knows .docx like Microsoft. And it sucks that they can't/won't just make a proper .dll you can include in your project for conversion, but that is the way it is.
If you have only small doc and docx files, you could use the free version of: GemBox.Document
If you want to convert your documents with all styles and so on, i think you have to buy a component. I've spent a lot of time searching for an open source solution, but could not find anything. GemBox.Document has a really good price/performance ratio.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I would like to create a documentation website from C# XML documentation comments.
An example from the Python community. This Scipy documentation is created from this python code using a tool named Sphinx.
Is anything like that possible for a C# project?
Example of XML documentation comments in a .NET project (not mine) https://github.com/haf/NodaTime/blob/master/src/NodaTime/Period.cs#L26
/// <summary>
/// Represents a period of time expressed in human chronological terms: hours, days,
/// weeks, months and so on. All implementations in Noda Time are immutable, and return fields
/// in descending size order: hours before minutes, for example.
/// </summary>
public sealed class Period : IEnumerable<DurationFieldValue>, IEquatable<Period>
Edit: The full extent of advice I could find in other questions was 'use Sandcastle'. As far as I can tell from its (ironically limited) documentation, it can only create Windows help files (.chm). Is that correct?
Edit: The full extent of advice I could find in other questions was 'use Sandcastle'. As far as I can tell from its (ironically limited) documentation, it can only create Windows help files (.chm). Is that correct?
No, that's not correct. Sandcastle can build a wide range of output.
However, these days you really want Sandcastle Help-File Builder (SHFB) which makes things a whole lot better. Still not entirely painless, but pretty good. The documentation for SHFB is generally pretty reasonable, too.
Funny you should give an example of Noda Time - SHFB is precisely what we use to generate our online API reference.
You could also try sharpDox. Another free and open source documentation generator.
You are able to create html and chm output and soon word documents.
Here is an example for a html output.
P.S.: I am the creator of this tool.
For a one-click solution, you can also try our VSdocman.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Does anyone know of source code, ideally in C# or similar, for reading .DXF files (as used by AutoCAD etc)? If not code, then tables showing the various codes (elements / blocks / etc) and their meanings?
I am writing a reader myself, and have dead tree documentation detailing the format, but am trying to avoid writing e.g. a converter from each of the 255 ACI colours to RGB... Thanks!
I have work a couple of years at developing my own DXf-Viewer in java (you could drop your own DXF file or an URL on the viewer) for 2D drawings. The published information from AutoCAD is a good base but doesn't explain how it works. Becoming member of the Open Design Alliance, will give you the possibility to convert several CAD formats to DXF. It may be a good idea if you are developing a commercial product.
There is a german book (http://www.crlf.de/Verlag/DXF-intern/DXF-intern.html) about DXF which really explain this format. It's expensive, but could save days of search.
The colors in the DXF Format are indexed, you must have a converter from ACI to RGB. Be careful with values 0 and 1 which having a special meaning.
Regards.
Cadlib from WoutWare have I been using for a couple of projects with good results.
Update in case someone is still looking...
It's the same library, just including both links.
https://github.com/haplokuon/netDxf
https://www.nuget.org/packages/netDXF/
Fortunately AutoCAD publish the DXF format information here: DXF Formats
You may want to try the Open Design Alliance. It's a while since I looked at it myself, but they had a load of C libraries for dealing with various AutoCAD files.
Here is a link to a CodeProject dxf reader; it seems very limited (and not particularly well done) though.
Here is another open source dxf reader, in Java. Buggy however!
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
see also "Any tools to check for duplicate VB.NET code?"
A friend of mine only has access to the Express editions of Visual Studio and I am trying to help him refactor to remove a lot of duplication.
You could take a look at Simian or DuplicateFinder. Neither have a dependency on the IDE, although you can integrate Simian quite easily.
Clone Detective appears as though it might work for you. I haven't used it before, but I stumbled across it on codeplex this week.
Your friend should take a look at Gendarme, a FOSS and cross-platform alternative to Microsoft's FxCop/Code Analysis which is part of the Mono project. It includes rules that check for duplicated code.
Try Atomiq:
Atomiq Code Similarity Finder is a tool for developers to find and eliminate duplicate code. It is designed for .NET developers, but works equally well for developers of other languages and even web designers!
Atomiq works with a wide variety of source code:
We currently support C#, VB.Net, ASPX, Ruby, Python, Java, C, C++,
ActionScript, and XAML, with more extensions on the way soon. It is
the perfect companion tool for someone who updates their code
infrequently and can't possibly remember everything in it or for a
team of 2 or more developers working on the same project that don't
know everything in it since they didn't write it all themselves.
Eliminate similar code
(and the banging your head against the wall that comes with it) Atomiq
doesn't just find exact matches, it finds similar code. It ignores
"fluff" like whitespace, string content, curly braces, comments and
using/import statements so you can find the duplicate code that causes
problems. In VB.NET, it will also ignore lines that contain only
"Next", "End While", "End Try", "End If", "End Property", "End Get"
and "End Set".
More as fyi, since you mentioned 'express edition' you might need to look for something that would work outside of VS, since I don't believe the express editions support plugins
See our CloneDR, which operates on many langauges, including C#.
EDIT October 2010: VB6, VBScript and VB.net added as languages supported by CloneDR.
There is no specific support for MS IDEs, but it operates on a simple list of source files, and produces a nice HTML report, so not much integration is needed. See sample reports at link.