pdf-to-markdown/oldSrc/javascript/models/transformations/ToTextBlocks.jsx

35 lines
1.1 KiB
React
Raw Normal View History

import React from 'react';
import Transformation from './Transformation.jsx';
2017-03-07 21:59:15 +01:00
import TextPageView from '../../components/debug/TextPageView.jsx';
import ParseResult from '../ParseResult.jsx';
2017-03-28 09:11:00 +02:00
import { blockToText } from '../markdown/BlockType.jsx';
export default class ToTextBlocks extends Transformation {
constructor() {
super("To Text Blocks", "TextBlock");
}
createPageView(page, modificationsOnly) { // eslint-disable-line no-unused-vars
2017-03-07 21:59:15 +01:00
return <TextPageView key={ page.index } page={ page } />;
}
transform(parseResult:ParseResult) {
2017-03-07 21:59:15 +01:00
parseResult.pages.forEach(page => {
const textItems = [];
page.items.forEach(block => {
//TODO category to type (before have no unknowns, have paragraph)
const category = block.type ? block.type.name : 'Unknown';
2017-03-07 21:59:15 +01:00
textItems.push({
category: category,
2017-02-18 11:46:13 +01:00
text: blockToText(block)
});
});
2017-03-07 21:59:15 +01:00
page.items = textItems;
});
return new ParseResult({
...parseResult,
});
}
}